我想从命令行调用我的perl脚本作为命令。 示例假设我有一个perl文件,如下面的
#!/usr/local/bin/perl -w
@args =("mvn","package");
system(@args) == 0
or die "system @args failed"
我没有使用package.pl
来调用它我尝试过以下
#!/bin/sh
eval 'exec /bin/perl –x -S $0 ${1+"$@"}'
if 0;
#!/usr/local/bin/perl -w
@args =("mvn","package");
system(@args) == 0
or die "system @args failed"
然后将文件'package'命名为.Do chmod on package
当我尝试运行包时,我得到了错误 “无法打开perl脚本[] x:没有这样的文件或目录
有人可以指出我,如何正确地做到这一点?
由于
Neeraj
答案 0 :(得分:2)
将单引号更改为双引号并转义内部双引号。此外,路径似乎存在一些问题。尝试使用绝对路径调用脚本。我尝试添加“./”并且有效:
#!/bin/sh
echo "This is shell"
eval "exec /usr/bin/perl -x -S ./$0 ${1+\"$@\"}"
if 0;
#!/usr/bin/perl -w
print "This is Perl\n";
答案 1 :(得分:2)
更改为您要使用的名称并使其可执行:
cp package.pl package
chmod +x package
运行它:
package
或:
./package