FreeBSDの公式シェルはtcshであるという多くの記事を読みました。 、およびDebianでは、そのdash 。ただし、echo $shellのいずれかを実行すると (FreeBSD)またはenv Debianでは、シェルはcshであると書かれています 最初のケースでは、またはbash Debianで。
これは新規インストールです。 rootアカウントと通常のユーザーアカウントでテストしました。また、FreeBSDで新しいアカウントを作成するときは、3つのシェルを選択できます。 sh 、csh またはtcsh 。選択しない場合は、csh アカウントのデフォルトです。
それらのシステムの下での公式の標準シェルは何ですか? tcshですか またはcsh FreeBSDでは? dashですか またはbash Debianで?
何か悪いことをするのは私ですか?または、記事やサイトに誤った情報がありますか?
Debian用とFreeBSD用の2つのシェルを学びたいのですが、どちらが公式シェルであるかが明確でないため、どちらを学ぶべきかわかりません。
また、どのシェルを学ぶべきかを検索しているときに、これを見つけました:http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/
それはただ好きではない人ですかcsh 、またはcshを本当に避ける必要があります ?
最新のDebianおよびFreeBSDバージョンを使用しています。
私はこれらすべてのシェルオプションに迷い始めました、それらはすべて私には同じように見えます(構文を除いて;私はそれらがすべて同じ可能性を提供するように見えることを意味します)。だから私は公式のものを学びたいのです。
承認された回答:
特定のシステムでデフォルトのシェルを使用する必要はまったくありません。 DebianとFreeBSDはどちらも多くの異なるシェルを提供しており、それらのほとんどまたはすべては、プレインストールされているか、簡単にインストールできるかの両方で利用できます。
命名に気をつけてください。 /bin/cshでは珍しいことではありません 本当にtcshになるか、/bin/shの場合 bashまたはkshになります。
sh 、Bourneシェルは、現在も一般的に使用されている最も古いUnixシェルです。 bash おそらく最も広く使用されているsh派生物です。 ksh およびzsh 広く普及しています。
csh 、Cシェルは、BillJoyによってBSD用に開発されました。 shよりも便利なインタラクティブな使用を可能にするいくつかの機能があります (または少なくとも古いバージョンのshより 当時存在していた)。 tcsh cshから派生 、および多くの新機能を追加します。それらのほとんどはインタラクティブな使用を目的としています。 csh.whynotを読んで見てきたように、cshとtcshは、インタラクティブではなく、スクリプトに使用する場合にいくつかの問題があります。
個人的には、cshから始めて、利用可能になったときにtcshに切り替えました。私は現在、スクリプトにcshを使用することはめったになく、shまたはbash(またはかなり複雑なものにはPerl)を好みます。
関連:lsの-Fオプション?(更新、数年後:tcshを放棄してから、bashをインタラクティブに使用しています。)
私のアドバイスは、FreeBSDとDebianの両方でそれを使用して、単一のシェルを選び、それをよく学ぶことです。 tcshを選択した場合は、Debianにインストールする必要があると思います:sudo apt-get install tcsh 。 bashを選択した場合、それがFreeBSDにプレインストールされているかどうかはわかりません。そうでない場合は、インストールも同様に簡単です。
同じシェルをインタラクティブに使用したり、スクリプトを作成したりする必要はありませんが、混乱を避け、学習曲線を短くすることができます。
kshはおそらくbashとほぼ同じくらい強力であり、zshはさらに強力です(そして、私が時間をかけて学ぶことのなかった多くの機能を備えています)。
FreeBSDとDebianの両方(および使用する可能性のある他のUnixライクなシステム)、およびインタラクティブな使用とスクリプトの両方に対して、bashをお勧めします。しかし、他の選択肢は完全に正当であり、いくつかはあなたにより適しているかもしれません。