Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过bash脚本以非交互方式配置s3cmd_Bash_Amazon S3_Configuration Files_S3cmd - Fatal编程技术网

通过bash脚本以非交互方式配置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。在命令行中

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