如何从Perl脚本调用Shell脚本

时间:2018-06-28 13:01:11

标签: perl

我正在尝试从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";

2 个答案:

答案 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”);