Я хочу использовать autoexpect для простого файла .sh, но терминал показывает эту ошибку:
can't find package Expect
while executing
"package require Expect"
(file "/usr/bin/autoexpect" line 6)
моя команда терминала :
autoexpect shell.sh
Я удаляю ожидание и устанавливаю его снова, но без разницы с прошлым!
Кто-нибудь может мне помочь?
Это результат dpkg -l | grep tcl; which tclsh; which tclsh8.6; dpkg -S Expect; echo $ PATH
. Противоречит ли Anaconda ожидаемому?
Вы должны установить основной пакет Expect по
sudo apt-add-repository universe
sudo apt-get install expect
и он установит tcl-expect
как зависимость для вас.
Чтобы запускать скрипты Expect, избегая проблем с Anaconda, вы должны вручную указать переменную PATH и затем запустить ваш скрипт expect/tcl:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
autoexpect ./shell.sh
или в одну строку:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin autoexpect ./shell.sh
Чтобы облегчить каждое выполнение команды autoexpect, вы можете добавить следующий псевдоним в ~/.bashrc
:
alias autoexpect='PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin autoexpect'