Mil*_*lad 5 command-line bash gnome-terminal expect
我想对简单的 .sh 文件使用 autoexpect,但终端显示此错误:
can't find package Expect
while executing
"package require Expect"
(file "/usr/bin/autoexpect" line 6)
Run Code Online (Sandbox Code Playgroud)
我的终端命令是:
autoexpect shell.sh
Run Code Online (Sandbox Code Playgroud)
我删除了expect并再次安装它,但与过去没有区别!
谁能帮我?
这是 的输出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
Run Code Online (Sandbox Code Playgroud)
它将tcl-expect
作为依赖项为您安装。
要运行 Expect 脚本以避免 Anaconda 出现问题,您必须手动指定 PATH 变量,然后运行您的 Expect/tcl 脚本:
sudo apt-add-repository universe
sudo apt-get install expect
Run Code Online (Sandbox Code Playgroud)
或一行:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
autoexpect ./shell.sh
Run Code Online (Sandbox Code Playgroud)
为了简化每个 autoexpect 命令的执行,您可以将以下别名添加到~/.bashrc
:
alias autoexpect='PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin autoexpect'
Run Code Online (Sandbox Code Playgroud)