为什么';当我从Perl运行shell脚本时,它不能工作吗?
我加载的这个命令(example.sh)在unix命令行中运行良好 但是,如果我在Perl中使用为什么';当我从Perl运行shell脚本时,它不能工作吗?,perl,unix,Perl,Unix,我加载的这个命令(example.sh)在unix命令行中运行良好 但是,如果我在Perl中使用系统或`语法执行它,它就不起作用。 我猜某些设置,如环境变量和其他外部sh文件没有加载 是否有一个示例编码来确保它能够工作 关于编码执行失败的更多更新(我一直在尝试使用不同的代码): 输出消息: sh: loadproject: command not found 你能告诉我们到目前为止你都做了些什么吗?你是如何运行这个程序的 如果您是从登录shell运行环境,那么我的第一个怀疑不是环境。您启动的任
系统
或`语法执行它,它就不起作用。
我猜某些设置,如环境变量和其他外部sh文件没有加载
是否有一个示例编码来确保它能够工作
关于编码执行失败的更多更新(我一直在尝试使用不同的代码):
输出消息:
sh: loadproject: command not found
你能告诉我们到目前为止你都做了些什么吗?你是如何运行这个程序的 如果您是从登录shell运行环境,那么我的第一个怀疑不是环境。您启动的任何Perl脚本(实际上是任何程序)都会继承相同的环境。但是,如果您是通过cron运行程序,那么情况就不同了 在这些情况下,我通常犯的其他错误是错误地指定了相对路径。从命令行可以看到路径,但是我的Perl脚本有一些其他当前工作目录 有关一般建议,请参阅。关于这一点,在学习Perl中还有一章
鉴于您与我们共享的信息非常有限,这是您希望得到的最佳建议。它怎么不起作用?它根本就不能启动吗?给出意外的输出?你到底是如何启动它的?它是否有一条正确的shebang线?谢谢,我在家里思考时得到的信息有限经过更多的调查,我发现我引用的命令不是绝对路径。此外,它是另一个命令的别名,带有一些额外的evalcsh语句。谢谢你的帮助!是的,始终使用所需命令的完整路径,以便准确地知道所获得的内容。我在“安全”一章中的“掌握Perl”一节中谈到了这一点,但它在非恶意情况下也很有用。:)
sh: loadproject: command not found