我的电脑上发生了一些奇怪的事情。我在 /usr/local/bin 下安装了 gperf。与我在这里问的问题有关,我的计算机上运行了一个 perl 脚本,其中包含 gperf 上的 system() 行,其标志看起来像
perl 文件:
system("gperf ...") == 0 || die "calling gperf failed: $?";
但是,无论我多么努力,gperf 都不会运行并输出失败的消息
调试我尝试了类似的东西
system("echo \$PATH") == 0 || die "calling gperf failed: $?";
发现它不包含/usr/local/bin/
我安装 gperf 的usr/bin
位置,而只查看未安装的位置
所以这$PATH
是错误的......所以我四处搜索并看到system()
与在文件中调用 /bin/sh 相同,所以我尝试/bin/sh
并 echo $PATH
发现它包含/usr/local/bin/
我不相信的内容。所以我的问题是 system() 的 $PATH 声明在哪里?为什么它与 Bourne shell 中的不同?