これを使用して、という名前の複数のファイルとディレクトリを含むzip
ファイルを作成します。今、自動処理でパスワード暗号化を処理しようとしています。以下は2つのbashスクリプトで、どちらも機能しません。zip
test.upd
expect
!/bin/bash
MYPWD="mypassword"
expect -c '
spawn zipcloak test.upd
expect {
"*Enter password*" { send "'"$MYPWD"'\r"
exp_continue
}
"*Verify password*" { send "'"$MYPWD"'\r"
exp_continue
}
}'
そしてこのファイルは:
!/bin/bash
MYPWD="mypassword"
expect -c '
spawn zipcloak test.upd
expect "*Enter password*"
send "'"$MYPWD"'\r"
expect "*Verify password*"
send "'"$MYPWD"'\r"
}'
また、直接スクリプトを書いてみましたexpect
。
#!/usr/bin/expect -f
spawn zipcloak test.upd
expect "*Enter password*"
send "password\r"
expect "*Verify password*"
send "password\r"
すべてのスクリプトは最初のパスワード要求を正しく送信しているようですが、2番目のパスワードエントリのテキストを要求していないようです。どうすれば修正できますか?
制限要因:
zipcloak
私は(ではなくzip
)を使うべきですexpect
自動パスワード設定を使用したいです。
コメント:
- 正しいスクリプトを使用しました。
- 最初のスクリプトを使用するたびに、
zi
またはで始まるディレクトリに空のファイルが作成されます。ziSvbYhy
zi3gzEQ4
ベストアンサー1
解決策は、アクションを取る前にしばらく待つようです!なぜこれが起こるのか全くわかりませんが(コメント、説明、洞察力を歓迎します)、次のスクリプトは現在私にとって効果的です。
#!/bin/bash
MYPWD="mypassword"
expect -c '
spawn zipcloak test.upd
expect "*Enter password*"
sleep 1
send "'"$MYPWD"'\r"
sleep 1
expect "*Verify password*"
sleep 1
send "'"$MYPWD"'\r"
sleep 1
'