重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

#!/bin/bash と #!/bin/sh はどのように使い分けるんですか?
http://www.ep.sci.hokudai.ac.jp/~inex/y2003/1031 …

A 回答 (2件)

別に使い分けなくても、常に


#!/bin/bash
で良いと思います。
sh にできて bash にできないことって無いでしょうから。

あえて使い分けるとしたら、
bash固有の機能を使いたいときは bash、
そうじゃなければ sh ってかんじでしょうか。

例えば、./hoge/piyo/ ってディレクトリがあって、
この下に foo、bar2つのディレクトリを新しく掘りたいとき
sh だったら
mkdir ./hoge/piyo/foo ./hoge/piyo/bar
ってしなきゃいけないけど bash では
mkdir ./hoge/piyo/{foo,bar}
でOKとか。

この回答への補足

上に書いた
http://www.ep.sci.hokudai.ac.jp/~inex/y2003/1031 …
では、最初に


#!/bin/bash
date
echo "I am $USER."
echo 'My login shell is ' | tr -d '\012'
grep ^$USER: /etc/passwd | cut -d: -f 7
echo "Hey !!"


書かれています。
このソースではbash固有の機能は使われていますか?
なぜそのサイトでは使い分けているか分かりませんか?

補足日時:2004/01/08 22:21
    • good
    • 0

回答に対する補足No.1に対する回答です。



bash 固有の機能らしき部分は、
grep ^$USER:
は sh だと
grep "^$USER:"
としないといけない(たぶん)ってぐらいでしょうか。
(""を省略していいなんてはじめて知った)

使い分けの理由は
----------
$ bash sample
とすると...
----------
とbashを例に挙げたから
#!/bin/bash にしたんじゃないでしょうか。
これが
----------
$ sh sample
とすると...
----------
ってなってたら、ここも
#!/bin/sh にしてたと思います。
    • good
    • 0
この回答へのお礼

サイトの説明の流れに沿って変更されたようですね。
ありがとうございました。

お礼日時:2004/02/28 21:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!