应在 bash 脚本中完成以下操作:
curl --digest --user schmijos https://bitbucket.org/u/p/get/tip.zip -o tip.zip
如何自动提交密码卷曲当它要求的时候?由于我不想在任何日志文件中看到密码,所以我惯于请执行下列操作:
curl --digest --user schmijos:$password https://bitbucket.org/u/p/get/tip.zip -o tip.zip
答案1
使用empty
:
安全存储密码(这是一种说法......)
$ echo password > pwd-file
启动进程empty
。 (-L log
在真实情况下你会省略。)
$ empty -f -i fifo1 -o fifo2 -L log curl -u user http://example.com
pwd-file
发送to的输入管道的内容empty
,该进程将其视为 itstdin
和/dev/tty
。
$ empty -s -c -o fifo1 < pwd-file
这是伪终端中发生的情况:
$ cat log
<<<Enter host password for user 'user':>>>password
<<<
答案2
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