Я запускаю служебный скрипт, как показано ниже

./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 ответ1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .