我正在尝试从perl脚本调用已保存的shell脚本,但是它不起作用。
1.pl:
#!/usr/bin/perl
#!/bin/csh -f
use warnings;
use Shell;
system ("/bin/sh commands.sh");
commands.sh:
#!/bin/csh -f
echo "calling shell script from perl script";
答案 0 :(得分:0)
如果commands.sh是可执行文件,那么您所需要做的就是:
#!/usr/bin/perl
system("/path/to/commands.sh")
如果commands.sh没有设置可执行标志,则
#!/usr/bin/perl
system("/bin/csh /path/to/commands.sh");
所有其他代码似乎都是多余的。
答案 1 :(得分:0)
对于我来说,shell脚本的路径会不时更改,因此我将其保存在易于更新的脚本顶部的变量中:
我们的$pathToShellScript = '/path/to/script.sh';
system("/bin/sh $pathToShellScript");
不确定为什么会出现此错误:
sh: -c: line 0: unexpected EOF while looking for matching
''`
以下工作原理: 系统(“ / bin / sh”,“ $ renamingScript”);