Linux-скриптинг оболочки

Linux-скриптинг оболочки

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

./myscript -d мой_дом_директор

это выдает вывод, как показано ниже Информация: создание файлов в указанном выше домашнем каталоге

Введите пароль:

Я хочу, чтобы этот пароль был вводом из файла, который я закодировал в формате 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

Связанный контент