Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么';当我从Perl运行shell脚本时,它不能工作吗?_Perl_Unix - Fatal编程技术网

为什么';当我从Perl运行shell脚本时,它不能工作吗?

为什么';当我从Perl运行shell脚本时,它不能工作吗?,perl,unix,Perl,Unix,我加载的这个命令(example.sh)在unix命令行中运行良好 但是,如果我在Perl中使用系统或`语法执行它,它就不起作用。 我猜某些设置,如环境变量和其他外部sh文件没有加载 是否有一个示例编码来确保它能够工作 关于编码执行失败的更多更新(我一直在尝试使用不同的代码): 输出消息: sh: loadproject: command not found 你能告诉我们到目前为止你都做了些什么吗?你是如何运行这个程序的 如果您是从登录shell运行环境,那么我的第一个怀疑不是环境。您启动的任

我加载的这个命令(example.sh)在unix命令行中运行良好

但是,如果我在Perl中使用
系统
或`语法执行它,它就不起作用。 我猜某些设置,如环境变量和其他外部sh文件没有加载

是否有一个示例编码来确保它能够工作

关于编码执行失败的更多更新(我一直在尝试使用不同的代码):

输出消息:

sh: loadproject: command not found

你能告诉我们到目前为止你都做了些什么吗?你是如何运行这个程序的

如果您是从登录shell运行环境,那么我的第一个怀疑不是环境。您启动的任何Perl脚本(实际上是任何程序)都会继承相同的环境。但是,如果您是通过cron运行程序,那么情况就不同了

在这些情况下,我通常犯的其他错误是错误地指定了相对路径。从命令行可以看到路径,但是我的Perl脚本有一些其他当前工作目录

有关一般建议,请参阅。关于这一点,在学习Perl中还有一章


鉴于您与我们共享的信息非常有限,这是您希望得到的最佳建议。

它怎么不起作用?它根本就不能启动吗?给出意外的输出?你到底是如何启动它的?它是否有一条正确的shebang线?谢谢,我在家里思考时得到的信息有限经过更多的调查,我发现我引用的命令不是绝对路径。此外,它是另一个命令的别名,带有一些额外的evalcsh语句。谢谢你的帮助!是的,始终使用所需命令的完整路径,以便准确地知道所获得的内容。我在“安全”一章中的“掌握Perl”一节中谈到了这一点,但它在非恶意情况下也很有用。:)
sh: loadproject: command not found