错误“命令名无效\”/usr/bin/perl\”在期望脚本中
我正在尝试将一行 perl 命令添加到期望脚本中。
出于本线程的目的,我将脚本精简为 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 脚本的新手”。希望这是一个简单的解决方案,但期望文档在网络上似乎很少。
我的另一个选择是将两个脚本分开。
I'm trying to add a one line perl command in to an expect script.
For purposes of this thread, I've boiled my script down to 2 lines:
#!/usr/bin/expect -f
/usr/bin/perl -i -pe 's/\015/\012/g' 'test.txt'
If I execute just the perl line in the Terminal (Mac), it runs fine. However, my expect script yields the error
error "invalid command name \"/usr/bin/perl\"
I am a novice at shell scripts. hopefully this is an easy solution, but expect documentation seems sparse on the web.
My other option is to just keep the 2 scripts separate.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Expect 是 Tcl 的超集。您需要的是 exec 命令。要在子 shell 中执行命令并存储结果,您可以使用如下结构:
Expect is a superset of Tcl. What you need is the exec command. To execute your command in a subshell and store the result, you would use a construct like this: