Linux シェルスクリプト

Linux シェルスクリプト

以下のようなユーティリティスクリプトを実行しています

./myscript -d myhomedir

これにより、以下の情報のような出力がスローされます: 上記のホームディレクトリにファイルを作成します

パスワードを入力する:

このパスワードを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

関連情報