Linux-Shellscripting

Linux-Shellscripting

Ich führe ein Hilfsskript wie unten aus

./myscript -d meinHomeverzeichnis

Dies gibt die folgende Ausgabe aus: Info: Die Dateien werden im oben genannten Homedir erstellt.

Passwort eingeben:

Ich möchte, dass dieses Passwort eine Eingabe aus einer Datei ist, die ich in einem Base64-Format kodiert habe. Hier ist mein Skript

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

Das funktioniert nicht. Kann mir bitte jemand sagen, ob es eine Möglichkeit gibt, das Passwort aus einer Datei zu lesen und als Eingabe zu verwenden, ohne es einzugeben.

Antwort1

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

verwandte Informationen