コンピューターで何か奇妙なことが起こった。/ usr / local/binの下にgperfをインストールしました。私がここで尋ねた質問に関連して、私は自分のコンピューターで実行されているperlスクリプトを持っていました。これには、次のようなフラグを持つgperfの行system()が含まれています。
perlファイル:
system("gperf ...") == 0 || die "calling gperf failed: $?";
ただし、どんなに頑張ってもgperfは実行されず、失敗したメッセージが出力されません。
デバッグするために私は次のようなものを試しました
system("echo \$PATH") == 0 || die "calling gperf failed: $?";
gperfをインストールした場所は含まれていませんが、インストールされていない場所/usr/local/bin/のみを調べていることがわかりましたusr/bin
だから$PATH間違っている...だから私はグーグルで見system()て、ファイル内で/ bin / shを呼び出すのと同じであると思ったので、試し/bin/shて みたところ、信じecho $PATHられないほど含まれていることがわかりました。/usr/local/bin/だから私の質問は、system()の$PATHがどこで宣言されているのかということです。なぜボーンシェル内のものと違うのですか?