簡體   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