我期望脚本的第一行失败了.以下是我的脚本的全部内容,但它失败了:
#!/usr/bin/expect -f
Run Code Online (Sandbox Code Playgroud)
它立即失败了
": no such file or directory
Run Code Online (Sandbox Code Playgroud)
作为我的回答.Expect实际上是安装的,位于/ usr/bin /中,我从root运行它.在#符号之前我没有多余的空格或行.当然,最初脚本还有更多内容,但它在获得好东西之前就失败了.
Ber*_*t F 19
尝试了,结果如下:/ usr/bin/expect ^ M:糟糕的翻译
是否有可能在那里有一个令人困惑的脚本的Windows换行符("^ M")?您可以尝试"od"来查看"expect"和"tofromdos"之后的换行符或者编辑器(例如,以hexl模式的emacs)删除它.有关详细信息,请参见手册页.
小智 10
我有这个问题,发现我没有安装期望的解释器!奇怪的是,如果你在shell中运行命令就可以了.但是,通过shell脚本我得到了错误:/ usr/bin/expect:bad interpreter:没有这样的文件或目录.
我通过简单地安装Expect解释器来修复它.选择的包名称是:expect libtcl8.6
赶紧跑:
sudo apt-get install expect
Run Code Online (Sandbox Code Playgroud)