スクリプトで実行した場合と端末から$ PATHを実行した場合で、$ PATHの出力が異なるのはなぜですか?このような最小限のスクリプトでも:
#!/bin/bash
echo $PATH
ターミナルで$ PATHを入力したときに得られるものとは一致しません。このため、「コマンドが見つかりません」と表示され続けます。どうすればこれを修正できますか?私はOSX High Sierraを使っています。
さて、 "export PATH"は私の問題の一部を解決したようです。私が使用しているプログラムの一つは動的リンクされています。何らかの理由で、エクスポートパスがあっても「dyld:Library not loaded」と表示されます。スクリプトから呼び出されたとき、少なくとも今すぐプログラムがパスにあります。 「export PATH」は何をするのですか?また、ライブラリパスもどのように含めることができますか?
1
どこからスクリプトを実行しますか。
—
nohillside
たとえばbash ./scriptと入力してシェルを起動します。
—
lenzinho
からの結果は何ですか -
—
fd0
/usr/bin/grep PATH "$HOME/.bashrc"
?
走っただけで何が起こる?
—
nohillside
./script
(が必要な場合があります chmod +x script
最初)?
あなたのスクリプトの内容を教えてください。また、単に$ PATHと入力するのではなく、もっと似たようなものにしてください。
—
Harv
echo "$PATH"
または env | grep -i "PATH"
- シェルがコマンドとして実行しようとしているのとは対照的に、変数PATHの内容が表示されます。また、使用しているシェルを見てみましょう。 env | grep -i shell
。あなたのスクリプトがあなたの環境変数を継承していないように聞こえますが、それはそれほど予想外のIMOではありません。