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

No.1ベストアンサー
- 回答日時:
別に使い分けなくても、常に
#!/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固有の機能は使われていますか?
なぜそのサイトでは使い分けているか分かりませんか?
No.2
- 回答日時:
回答に対する補足No.1に対する回答です。
bash 固有の機能らしき部分は、
grep ^$USER:
は sh だと
grep "^$USER:"
としないといけない(たぶん)ってぐらいでしょうか。
(""を省略していいなんてはじめて知った)
使い分けの理由は
----------
$ bash sample
とすると...
----------
とbashを例に挙げたから
#!/bin/bash にしたんじゃないでしょうか。
これが
----------
$ sh sample
とすると...
----------
ってなってたら、ここも
#!/bin/sh にしてたと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
batである文字列内に特定の文字...
-
ファイルから文字列を読み込む...
-
スクリプトのエラー「unexpecte...
-
Linuxコマンドは何の言語で書か...
-
UNIX コマンドにおける # や円...
-
IPアドレスだとPingが通るのに...
-
SONYの音楽ソフト「x-アプリ」...
-
pingは正常なのにtracerouteで...
-
ファイル名一覧の印刷
-
batファイルの強制終了を回避し...
-
Linux環境 grepで改行コード(CR...
-
Linux 月を英語表示したい
-
TOPコマンドで表示するCPU使用...
-
Linux のシェルスクリプトの強...
-
net use /d の強制実行
-
ファイル名についている「-」と...
-
エクセルの表にヘンな枠が・・・
-
Linux:sedコマンドで置換がし...
-
Docker環境は以下通りです。doc...
-
bashでシングルクォート内の変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
batである文字列内に特定の文字...
-
if文について
-
スクリプト中のexportコマンド...
-
シェルスクリプトの変数の制限?
-
Bシェル 文字列に含まれる特...
-
bashスクリプト
-
【シェルスクリプト】whileルー...
-
【sh】tee コマンドの代替方法
-
Cシェルプログラムで、あるディ...
-
UWSCについて
-
rubyで、バッククォートの中に...
-
cshの条件式について教えてくだ...
-
kshでのNULLの比較
-
シェルスクリプトのパス
-
シェルスクリプトでうるう年判定
-
ログインシェル時のSHELL環境変数
-
Cシェルで標準エラー出力への...
-
shellスクリプトから別のshell...
-
Cシェルにあるコマンドの代わり
-
exprで四則演算をする際に変数...
おすすめ情報