通过 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
所做的那样),使用 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
我正在尝试配置 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
所做的那样),使用 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