2013-03-10 1 views
1

저는 스크립팅을 배우려고합니다. 나는 truecrypt 암호를 잃어버린 시나리오가 있습니다. 아래 스크립트를 실행합니다.Bash - 시작 스크립트를 다시 실행 하시겠습니까?

#!/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 

그러나 암호가 잘못되면 내가 Ctrl + C로가 다시 실행을 시작하는 스크립트를 얻을 수

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

있는 유일한 방법을 얻을. 각 실패 후에 ctrl + c를 누르면 스크립트가 올바른 비밀번호를 얻습니다. 그러나 옵션이 아닌 1000 개의 가능한 암호가있는 경우

어떻게 스크립트가 출력

잘못된 암호 나 아닌 TrueCrypt 볼륨을 찾기 위해 어떻게해야합니까.

다음 ctrl + c? 아니면 그만둬? 지금까지 시도한 모든 것은 Ctrl + C를 수행 할 때까지 truecrypt-k 줄 아래로 진행되지 않습니다.

+0

truecrypt가 암호를 묻는 대화식 모드로 들어가는 것 같습니다 (비어있는 keyfile 플래그로 막아야 함). 자동으로 신호를 보내려고하는 대신 (가능하다면) 왜'truecrypt' 명령이 이것을하는지보아야합니다. – cmh

+0

나는 내 자신의 질문에 답하려고 노력했다. 위의 팁 주셔서 감사. truecrypt --non-interactive가 문제였습니다. – user610209

답변

1

Truecrypt는 루프 주위에서 암호를 묻기 위해 대화식 모드로 들어가고 있습니다. 입력을 차단하면 루프가 계속되지 않습니다.

--non-interactive 플래그를 추가하면이 문제를 해결할 수 있습니다.

관련 문제