Bash 预期脚本未在docker容器中运行

Bash 预期脚本未在docker容器中运行,bash,shell,docker,expect,Bash,Shell,Docker,Expect,我正在尝试在docker容器中运行expect脚本。我安装了expect 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 ":|#|\\\$" interac

我正在尝试在docker容器中运行expect脚本。我安装了expect

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

请帮助

spawn
是一个expect命令,而不是bash命令。因此,尽管安装了expect,但仍然无法直接从shell调用
spawn

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