通过bash脚本以非交互方式配置s3cmd
我正在尝试配置s3cmd。在命令行中通过bash脚本以非交互方式配置s3cmd,bash,amazon-s3,configuration-files,s3cmd,Bash,Amazon S3,Configuration Files,S3cmd,我正在尝试配置s3cmd。在命令行中 s3cmd --configure 运行向导,数据输入是直接的。 现在,我想通过一个bash脚本来运行它。我用过: s3cmd --configure --access_key=XXXXXXX --secret_key=XXXXXX -s --no-encrypt 互动向导仍然会突然问我刚才提供的参数。然后,我尝试转储配置文件(.s3cfg)的内容并将其写入根目录中的文件,希望s3cmd能够读取它: s3cmd --configure --acces
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=
--configure
是一种定义所有设置的交互式模式,因此只要您打开此选项,它将带来交互式问题模式
如果您想为该工具的配置编写脚本,我认为您应该直接编辑用户主目录中的.s3cfg
(适用于mac/linux)或s3cmd.ini
(适用于windows)并设置要设置的值
或者,您可以转储当前设置(正如您使用--dump config
所做的那样)使用s3cmd--config=
进行更改和保存,至少在版本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命令(您有
选项不在交互模式下保存配置文件)
希望这对别人有帮助 至少在版本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命令(您有
选项不在交互模式下保存配置文件)
希望这对别人有帮助 我继续将配置文件转储到/root/中的.s3cfg文件中。S3cmd能够直接读取它,而不必明确指向它
s3cmd--configure--access_key=XXXXXX--secret_key=XXXX-s--no encrypt--dump config 2>&1 | tee/root/.s3cfg
我继续,将配置文件转储到/root/中的.s3cfg文件中。S3cmd能够直接读取它,而不必明确指向它s3cmd--configure--access_key=XXXXXX--secret_key=XXXX-s--no encrypt--dump config 2>&1 | tee/root/.s3cfg
以这种方式使用变量时,无需导出变量。无论如何,我会从文件中读取它们,以避免在命令行上公开它们:s3cmd--configure
以这种方式使用变量时,无需导出变量。无论如何,我会从文件中读取它们,以避免在命令行上公开它们:s3cmd--configure