こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

unix.linuxのシバンについて

UNIX・ Linux初心者です。 現在シェルについて学習している所です。
そこで質問なのですが、シェルスクリプトの1行目にシバンと呼ばれるものを書きますよね?

#!/usr/bin/sh や #!/bin/shといったような。


この二つそれぞれ同じ実行結果を返してくれるんですが、/usrの有無の違いが分からないんです。
/usrを付けている時と付けていない時の違いを教えていただけないでしょうか?回答お願いします。

投稿日時 - 2016-11-10 20:26:19

QNo.9254030

すぐに回答ほしいです

質問者が選んだベストアンサー

そこには、実行プログラムのフルパスを書きます。
#!/usr/bin/sh
というのは、そのファイルを/usr/bin/shで実行するという意味です。
#!/bin/sh
というのは、そのファイルを/bin/shで実行するという意味です。

/usr/bin/sh と /bin/sh が同じファイルであれば、動作は同じです。
あなたの環境ではたまたま同じファイルなのだと思います。
違う環境、例えば、/bin/sh は存在するが/usr/bin/shは存在しない環境だと結果は違います。

投稿日時 - 2016-11-10 21:38:16

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

/usr/bin/ には /bin/sh に対するシンボリックリンクが置かれています。それが /usr/bin/sh です。システムによっては /usr/bin/sh のないものもあるようです。

参考URL:http://rcmdnk.github.io/blog/2016/09/20/computer-linux-bash/

投稿日時 - 2016-11-10 21:45:39

あなたにオススメの質問