我试图从shell脚本调用perl脚本,代码如下所示......
shell脚本test_sh
#Call the script
test2.pl ${PARTITION_ID} ${VNG_USER} ${VNG_PASSWORD} ${VNG_INSTANCE}
if [ $? -ne 0 ]
then
OP1ExitStatus -6
fi
执行时收到以下错误消息:
./test_sh[142]: test2.pl: not found
Failed in test_sh
两个文件的权限都是755。
但是当我通过传递所有参数直接从命令行调用test2.pl时,它成功运行。 我也试过下面的命令:
#Call the script
perl test2.pl ${PARTITION_ID} ${VNG_USER} ${VNG_PASSWORD} ${VNG_INSTANCE}
if [ $? -ne 0 ]
then
OP1ExitStatus -6
fi
但它也无效。 请让我知道如何继续以便成功运行它。
答案 0 :(得分:3)
从命令行直接调用perl test2.pl
。从脚本中你假设(1)test2.pl
是可执行的,(2).
在$PATH
某处。我会在脚本中使用直接perl
调用,至少目前是这样。
答案 1 :(得分:0)
检查你的shebang,例如#!/bin/bash
。您可能还想尝试使用Perl可执行文件的完整路径。
答案 2 :(得分:0)
这通常意味着在Perl脚本顶部的shebang行中perl
的路径是错误的(假设该文件具有执行权限)。
尝试使用:
#!/usr/bin/env perl
答案 3 :(得分:0)
您的shell脚本无法找到您的test2.pl。您需要在shell脚本中提供test2.pl的完整路径,或确保它位于$ PATH中。