1

私はいくつかのスクリプトを学ぼうとしています。truecrypt パスワードを紛失したシナリオがあります。以下のスクリプトを実行します。

#!/bin/sh
DIRECTORY=/media/truecrypt1
for i in 1 2 password
do
   clear
   echo "Trying $i as a password"
   truecrypt -k "" --protect-hidden=no ITSTUDY $DIRECTORY -p $i
   if [[ -d "${DIRECTORY}" && ! -L "${DIRECTORY}" ]] ; then
       echo "It Worked!"
   fi
done

ただし、パスワードが間違っている場合は

Trying 1 as a password
Incorrect password or not a TrueCrypt volume.
Enter password for /mnt/ITSTUDY:

スクリプトの実行を再開する唯一の方法は、ctrl+c です。失敗するたびに ctrl+c を押すと、最終的にスクリプトは正しいパスワードを取得します。ただし、1000 の可能なパスワードがある場合、それはオプションではありません。

スクリプトで出力を検索するにはどうすればよいですか

パスワードが間違っているか、TrueCrypt ボリュームではありません。

次にctrl + cを送信しますか?または終了しますか?これまでに試したことはすべて、ctrl+c を実行するまで truecrypt -k 行の下に進みません。

4

1 に答える 1

1

Truecrypt は、ループの反復ごとにパスワードを要求する対話モードに入ります。これは入力時にブロックされるため、ループは続行されません。

--non-interactiveフラグを追加すると、この問題が解決するはずです。

于 2013-03-10T19:03:59.980 に答える