1

我正在尝试在 docker 容器中运行期望脚本。我已经安装了期望

泊坞窗文件

FROM ubuntu:latest

RUN apt-get update \
  && apt-get install expect -y

期望脚本

eval spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no user@****
#use correct prompt
set prompt ":|#|\\\$"
interact -o -nobuffer -re $prompt return
send "******\r"
interact

我收到以下错误

bash: spawn: command not found

请帮忙

4

1 回答 1

1

spawn是一个期望命令,而不是一个 bash 命令。所以,虽然你安装了expect,你还是不能spawn直接从shell调用

例如,您需要做的是将所有期望的代码放在一个文件中,mycommand.expect然后像这样调用它expect mycommand.expect。您还可以像这样在文件的开头添加一个 shebang 行#!/path/to/expect,然后像这样 chmod 该文件,chmod a+x mycommand.expect这样您就可以像普通命令一样从 shell 运行它mycommand.expect

于 2019-09-13T07:01:01.417 回答