期待脚本 - 找不到bash脚本文件

时间:2016-06-30 10:29:36

标签: bash macos expect

我期待的剧本

#!/usr/bin/expect -f

#I tried replacing sh - with bash -s still no positive results
spawn ssh xxxx@yyyy "sh -" < test.sh
expect "password: "
send "zzzzz\r"
expect "$ "

如果在终端

中执行,该命令效果很好
ssh xxxx@yyyy "sh -" < test.sh

但是如果我通过expect脚本执行它;它失败了。

如果我通过expect脚本执行它,这是输出。我可以知道我哪里出错吗

bash: test.sh: No such file or directory

P.S:是的,文件存在且凭据正确。

1 个答案:

答案 0 :(得分:0)

Expect脚本无法读取文件的内容,这就是问题所在。通过读取文件的内容并传递该变量而不是文件名

来解决它
set fh [open test.sh r]
set contents [read $fh]
close $fh

并将sh-替换为bash -c '$contents'

感谢大家的宝贵意见。