在期望脚本中出现错误“无效命令名称”/ usr / bin / perl \“

时间:2012-01-12 16:23:44

标签: expect

我正在尝试将一行perl命令添加到expect脚本中。

出于这个主题的目的,我把我的脚本简化为2行:

#!/usr/bin/expect -f

/usr/bin/perl -i -pe 's/\015/\012/g' 'test.txt'

如果我只执行终端(Mac)中的perl行,它运行正常。但是,我的期望脚本会产生错误

 error "invalid command name \"/usr/bin/perl\"

我是shell脚本的新手。希望这是一个简单的解决方案,但希望文档在网络上看起来很少。

我的另一个选择就是将两个脚本分开。

1 个答案:

答案 0 :(得分:0)

Expect是Tcl的超集。你需要的是exec command。要在子shell中执行命令并存储结果,可以使用如下结构:

set result [exec /usr/bin/perl -i -pe 's/\015/\012/g' test.txt]