Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用'expect`、`产卵`、`发送`、`在Arch Linux或Manjaro中进行交互?_Linux_Shell_Archlinux_Manjaro - Fatal编程技术网

如何使用'expect`、`产卵`、`发送`、`在Arch Linux或Manjaro中进行交互?

如何使用'expect`、`产卵`、`发送`、`在Arch Linux或Manjaro中进行交互?,linux,shell,archlinux,manjaro,Linux,Shell,Archlinux,Manjaro,作为问题,我想在不输入密码的情况下为登录服务器编写一个脚本,如下所示: #!/usr/bin/expect set pw "mypasswd" spawn ssh user@10.2xx.1yy.2zz expect "Password" send "$pw" interact /usr/local/bin/lx:line6: spawn:command not found /usr/local/bin/lx:line8: expect:command not found /usr/local

作为问题,我想在不输入密码的情况下为登录服务器编写一个脚本,如下所示:

#!/usr/bin/expect
set pw "mypasswd"
spawn ssh user@10.2xx.1yy.2zz
expect "Password"
send "$pw"
interact
/usr/local/bin/lx:line6: spawn:command not found
/usr/local/bin/lx:line8: expect:command not found
/usr/local/bin/lx:line9: send:command not found
/usr/local/bin/lx:line10: interact:command not found
现在,当我执行此脚本时,错误如下所示:

#!/usr/bin/expect
set pw "mypasswd"
spawn ssh user@10.2xx.1yy.2zz
expect "Password"
send "$pw"
interact
/usr/local/bin/lx:line6: spawn:command not found
/usr/local/bin/lx:line8: expect:command not found
/usr/local/bin/lx:line9: send:command not found
/usr/local/bin/lx:line10: interact:command not found
而且,我尝试了
pacman-S expect
,安装了一些包,但我的脚本仍然无效


我应该如何在Manjaro Linux中安装命令?

pacman-Syu
然后
pacman-S expect
更新您的系统,然后安装
expect
软件包。对于StackOverflow@DavidC.Rankin,这个问题与主题无关。我尝试了
pacman-S expect
,安装了一些软件包,但我的脚本仍然无效。我不确定是什么提供了
spawn
send
,但expect软件包提供了
/usr/bin/expect
。您正在与另一个具有
spawn
send
的包进行交互?@Shawn.X您如何执行脚本?您收到的错误(“未找到命令”)表明您没有实际使用expect运行expect脚本。您没有bash脚本。不能使用
bash
运行它。您有一个
expect
脚本。您应该将其命名为
myscript.expect
,而不是
myscript.sh
,并将其作为
expect-f myscript.expect
运行。