리눅스 쉘스크립팅

리눅스 쉘스크립팅

아래와 같이 유틸리티 스크립트를 실행하고 있습니다.

./myscript -d myhomedir

그러면 아래와 같은 출력이 발생합니다. Info: 위에서 언급한 homedir에 파일 만들기

암호를 입력:

이 비밀번호를 base64 형식으로 인코딩한 파일의 입력으로 사용하고 싶습니다. 여기에 내 스크립트가 있습니다.

passwd=`cat ${myhomedir}/.passwd`
deCrypt=`openssl enc -base64 -d <<< $passwd`
echo $deCrypt
./myscript -d myhomedir
expect "Enter Password:"
send -- "$deCrypt"

작동하지 않습니다. 파일에서 비밀번호를 읽고 입력으로 사용할 수 있는 방법이 있다면 누구든지 안내해 주실 수 있나요? 입력하지 않고.

답변1

#!/usr/bin/expect -f

spawn -noecho ./myscript -d myhomedir
expect -re "Enter Password" { send -- [exec cat ~/.passwd | openssl enc -base64 -d ]\r }
interact

puts "\nDone.\n"
exit

관련 정보