我正在尝试将一行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脚本的新手。希望这是一个简单的解决方案,但希望文档在网络上看起来很少。
我的另一个选择就是将两个脚本分开。
答案 0 :(得分:0)
Expect是Tcl的超集。你需要的是exec command。要在子shell中执行命令并存储结果,可以使用如下结构:
set result [exec /usr/bin/perl -i -pe 's/\015/\012/g' test.txt]