我试图在另一台unix机器上调用远程功能(让我们调用machine2),每次我想从machine1调用它时都需要登录。所以我试图用户命令期望这样做。 (不建议使用ssh密钥,该选项已被删除)。
所以这是我的代码:
#!/usr/bin/expect -f
#!/bin/ksh
ssh user@machine2 data/test.sh
expect "Password:"
send "pass001\n"
这是返回的错误:
invalid command name "ssh"
while executing
"ssh user@machine2 data/test.sh"
(file "testscript.ksh" line 4)
----更新 - > 当我更改代码并添加spawn命令时,它仍然会返回错误:
新代码:
#!/usr/bin/expect -f
#!/bin/ksh
spawn ssh user@machine2 data/test.sh
expect "Password:"
send "pass001\r"
错误已转:
sh: /usr/local/bin/stty: not found
答案 0 :(得分:1)
请加入spawn
。
spawn
命令为您生成或启动外部命令。在这种情况下,ssh
到远程主机(aspen
):
spawn ssh aspen