scripts de shell de Linux

scripts de shell de Linux

Estoy ejecutando un script de utilidad como se muestra a continuación

./myscript -d mihomedir

esto arroja un resultado como el siguiente: Información: crear los archivos en un directorio de inicio mencionado anteriormente

Introducir la contraseña:

Quiero que esta contraseña sea una entrada de un archivo que he codificado en formato base64. Aquí está mi script.

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

Esto no funciona. ¿Alguien podría guiarme si existe alguna manera de leer la contraseña de un archivo y tomarla como entrada? sin escribirlo.

Respuesta1

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

información relacionada