2014-09-02 38 views
0

首先,我很抱歉我的英語不好。Bash自動閱讀

我正在研究一個每日壓縮文件的bash腳本。 我必須使用文件中提供的密碼來加密zip。

腳本是由一個又一個推出了名爲的話,我想推出一個劇本像

myZipScript.sh fileToZip fileContainingThePassword

在我的劇本我有

password=${<$2} 
    zip -e $password $1.zip $1 

的問題是zip命令會問我兩次密碼。如何在沒有人爲干預的情況下通過此密碼?

Thx for all。

回答

2

我會滑過man zip,看看有什麼選項有傳遞密碼:

-P密碼

--password密碼

使用密碼加密的壓縮文件條目(如果有的話) 。這是INSECURE!許多多用戶操作系統爲任何用戶提供了查看任何其他用戶的當前命令行的方式;即使在獨立系統中,也總是存在肩膀窺視的威脅。將明文密碼作爲命令行的一部分存儲在自動腳本中更加糟糕。只要有可能,請使用非回顯交互式提示輸入密碼。 (而那裏的安全是真正重要的,使用強大的加密功能,如良好隱私,而不是通過壓縮文件的實用程序提供的相對較弱的標準加密。)

+0

THX很多關於您的快速答覆。我的錯我沒有閱讀所有的手冊... – 2014-09-02 08:51:31

0

除了什麼馬克西姆表示,第一線(在存儲密碼變量)看起來不正確。 我想這確實會使$password變量變空,因此zip不會看到它。

改用

password=$(cat "$2") 
zip -e -P "${password}" $1.zip $1 
+0

假設'$ 2'是一個文件:'... -P「$(cat $ password)」...' – 2014-09-02 09:30:19