Bash

詢問時將密碼傳遞給應用程序

  • November 20, 2012

應在 bash 腳本中執行以下操作:

curl --digest --user schmijos https://bitbucket.org/u/p/get/tip.zip -o tip.zip

如何在curl要求時自動送出密碼?由於我不想在任何日誌文件中看到密碼,所以我不會執行以下操作:

curl --digest --user schmijos:$password https://bitbucket.org/u/p/get/tip.zip -o tip.zip

使用empty

安全儲存密碼(這是一種說法……)

$ echo password > pwd-file

用 開始程序empty-L log(在實際情況下你會省略。)

$ empty -f -i fifo1 -o fifo2 -L log curl -u user http://example.com

發送pwd-filetoempty的輸入管道的內容,程序將其視為它的stdin/dev/tty

$ empty -s -c -o fifo1 < pwd-file

這是在偽終端中發生的事情:

$ cat log
<<<Enter host password for user 'user':>>>password
<<<

Curl 可以從~/.netrc. 將這樣的行添加到~/.netrc

machine bitbucket.org login schmijos password swordfish

並執行

curl --netrc --digest --user schmijos https://bitbucket.org/u/p/get/tip.zip -o tip

引用自:https://unix.stackexchange.com/questions/55882