- ベストアンサー
LINUXサーバーについての質問です。
LINUXサーバーについての質問です。 http://qiita.com/suin/items/5c4e21fa284497782f71 上記サイトのシェルスクリプトの42行目の PATH=/sbin:/usr/sbin:/bin:/usr/bin は何を意味してるのでしょうか? このシェルスクリプトのファイルの置かれているパスですか? そうであれば、シェルスクリプトには必ずパスを記入するものでしょうか? 教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
たとえば ls とコマンド打つと実行されますが、本当は/bin/lsです。 なぜこれがlsで実行されるかというと先の方が記載している環境変数 PATHに /bin: がセットされているからです。 なので仮にこのPATHに/binがセットされてない場合、/bin/ls とフルパスでコマンド打たないと実行されません。 lsだけ打ってもそんなコマンドないよって言われます。 そんなわけでPATHを設定しています。 逆にシェルスクリプト内のコマンドをすべてフルパスで記載するなら、PATHの設定いらないということになります。 現在設定されいる環境変数は echo $PATH で確認できます。
その他の回答 (2)
- IDii24
- ベストアンサー率24% (1597/6506)
環境変数です。毎回記述を避けるための処理です。実行環境と言っていいでしょう。 まあ決まり事のようなものです。
お礼
ご回答ありがとうございます! 大変勉強になりました。
- t_ohta
- ベストアンサー率38% (5238/13705)
/sbin、/usr/sbin、/bin、/usr/bin ディレクトリの中には各種コマンド等の実行ファイルが入っています。 スクリプト内で何気なく使っているコマンドも、多くはどこかのディレクトリに実体があるのでパスを通しているのです。 また、同じコマンドでも構築方法により /bin に入っている時もあれば /usr/bin に入っている場合があるといった違いが生じるので、絶対パスでコマンドを書くよりもパスを通しておいてコマンド名だけを記述する方が汎用性が高まります。
お礼
ご回答ありがとうございます! 大変勉強になりました。
お礼
ご回答ありがとうございます! 大変勉強になりました。