Я установил ожидаемую команду на CentOS 7 с yum install expect -y
. Я хочу автоматизировать ввод данных в моем скрипте, но похоже, что он больше не интерпретирует bash.
Вот мой сценарий:
#!/usr/bin/expect -f
homeDir="/home"
if [ $# -eq 1 ]; then
CLIENT="$1"
./easyrsa build-client-full "$CLIENT" nopass
elif [ $# -eq 2 ]; then
CLIENT="$1"
password="$2"
set timeout -1
spawn ./easyrsa build-client-full "$CLIENT"
expect "Enter PEM pass phrase:"
send -- "$password"
expect eof
else
echo "script <username> <password (optional)>"
fi
Я сделал сценарий исполняемым с chmod +x script
и запустил его как ./script
.
Я получаю ошибку:
script: line11: spawn: команда не найдена, не удалось прочитать файл "Enter
Пароль PEM: ": нет такого файла или каталога
скрипт: ligne13: отправить:
команда не найдена не может прочитать файл "eof": нет такого файла или
каталог
Если я сделаю whereis expect
Я получаю:
expect: /usr/bin/expect /usr/share/man/man1/expect.1.gz
Я хотел бы спросить, есть ли альтернатива без использования другой библиотеки?
Я также пытался использовать эту строку кода, но это не дает никакого возврата:
echo "$password" | ./easyrsa build-client-full "$CLIENT"