- ベストアンサー
bashはそんなに便利なのか?
Linuxだけでなく、Mac OS Xでもbashがデフォルトのシェルになりましたが、bashはそんなに便利なんでしょうか? 今まで(t)cshしか使ってきませんでしたが、乗換える価値があるのか、ご意見をお聞かせください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
# デフォルトのシェルがそんなに偉いのかなあと。 結論から言うと、両方使えると良いでしょう。 私はRedHatを使うときもまずchshで/bin/tcshにします。でも、スクリプトではbourne shです。なぜかというと、やはりshは、スクリプトに便利な機能が多いので。 どうせスクリプトでは、 #!/bin/sh って書くんだし、どっちでも好きなほうを使えばいいのです。 ちなみに私の知り合いは/usr/local/bin/fdshを使ってます。
その他の回答 (2)
- rentahero
- ベストアンサー率53% (182/342)
今読み直してみたら、fdshについての説明が何も無い。 fdshというのは、フルスクリーンファイラ付のシェルです。一度試してみても良いかもしれません。 FreeBSDのportsだとports/shells/fdに入ってます。
- kalze
- ベストアンサー率47% (522/1092)
ログインシェルが何かとかにもよるところがありますね。 歴史的というとちょっと大げさですが、これまでの経緯からbashの方がメジャーなのがありますし、Linuxなどのデフォルトのログインシェルとシェルスクリプトの文法が同じってのもありますし。 本来のUNIXの標準シェルはshです。 shから派生したシェルがBシェル系です。 そしてshがシェルスクリプトを記述するための標準シェルでした。 でも、shはユーザーのコマンド入力用のシェルとしては低機能だったので、ヒストリ機能、エイリアス機能、ジョブコントロール機能などを備えて文法をC言語風に改変したcshが開発されました。 それからはcshがUNIXの新しい標準シェルとして受け入れられましたが、cshの文法はshと異なっているて、cshでシェルスクリプトを記述するにはちょっと問題がありました。 そのためにコマンド入力用とシェルスクリプト用とで2つのシェルを頭を切り替えながら使う必要があったと。 その後、Bシェル系として、shの上位互換を保ちながらcshの各機能を取り入れ、さらにタブによるファイル名やコマンド名の補完機能、コマンドライン編集機能を備えたbashが登場しました。 bashの登場以降、Bシェル系が復権。 Cシェル系でもcshの機能拡張版としてタブによる補完機能やコマンドライン編集機能を備えたtcshが登場しましたが。 bashのメリットとしては、bashがログインシェルの場合、コマンドライン上のシェル文法とシェルスクリプト上の文法が一致することでしょう。 Linuxの標準シェルにもなっていますので、ユーザーは今後も増え続けるとおもわれますので、何かとやりやすいこともあるかもしれません。 Linuxではshはbashへのシンボリックリンクですし。 まぁやりやすい方を使うのが一番かとおもわれます。
補足
> bashがログインシェルの場合、コマンドライン上のシェル文法とシェルスクリプト上の文法が一致することでしょう。 なるほど、ありがとうございます。この点、納得です。 それからbashの場合、Unicode textが扱えるとか聞いたことがあります。 Mac OS Xが10.2から10.3になるにあたり、デフォルトのシェルをtcshからbashに変えていますが、bashに変えるなりのもっと説得力のある理由があるような気がしているのですが、いかがでしょうか。 機能的な面だけでなく、マーケット上の理由もあるのかもしれませんが。 では、なぜbashがLinuxのデフォルトになったのかは、ご存知でしょうか。あれこれとすみません。
補足
さっそくのご解答ありがとうございます。 すみませんが、教えていただきたいところはここの部分です。">やはりshは、スクリプトに便利な機能が多いので。" よろしくお願いします。