繁体   English   中英

通过 bash 脚本以非交互方式配置 s3cmd

[英]Configuring s3cmd non-interactively through bash script

我正在尝试配置 s3cmd。 在命令行时,

s3cmd --configure 

运行向导,数据输入是直接的。 现在,我想通过 bash 脚本运行它。 我用了:

s3cmd --configure --access_key=XXXXXXX --secret_key=XXXXXX -s --no-encrypt 

并且交互式向导仍然会弹出询问我刚刚提供的参数。 然后我尝试转储配置文件 (.s3cfg) 的内容并将其写入根目录中的文件,希望 s3cmd 能够读取它:

s3cmd --configure --access_key=XXXXXXX --secret_key=XXXXXX -s --no-encrypt 
--dump-config 2>&1 | tee .s3cfg

但这也不起作用..有什么想法吗? 谢谢。

--configure是一种交互式模式,用于定义所有设置,因此,一旦打开此选项,它将进入交互式问题模式。

如果要对工具的配置编写脚本,我认为您应该直接在用户主目录中编辑.s3cfg (对于mac / linux)或s3cmd.ini (对于Windows),然后设置要设置的值。

或者,您可以转储当前设置(如使用--dump-config所做的--dump-config )进行更改并使用s3cmd --config=<new_file>

至少对于1.1.0-beta3版本,这对我来说效果很好:

export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...

echo -e "${AWS_ACCESS_KEY_ID?}\n${AWS_SECRET_ACCESS_KEY?}\n\n\n\n\nY\ny\n" | \
  s3cmd --configure

我建议您手动执行一次,以找出所需的输入字符串的确切顺序,然后相应地调整echo命令(您可以选择不以交互方式保存配置文件)。

希望这对某人有帮助!

只需删除 --configure 选项即可解决问题。 作者的命令几乎是正确的

s3cmd --access_key=XXXXXXX --secret_key=XXXXXX -s --no-encrypt 
--dump-config 2>&1 | tee .s3cfg

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM