tcsh
を長い間使用しています。しかし、何かを検索しているときはいつも、指定されたメソッドがbash
固有であることがよくあります。シェルスクリプトの構文でさえ、2つでは異なります。
インターネットでの検索と学習の経験から、bash
が最も一般的に使用されているシェルのようです。このサイトでbash
とタグ付けされた質問の数でさえ、tcsh
とタグ付けされた質問の数よりもはるかに多い(現在の5倍)。
だから、私はbashに切り替えるべきかどうか疑問に思っています。どう思いますか?
なぜtcsh
にこだわる必要があるのですか_ ORなぜbash
に移動する必要があるのですか?
Bashを学習した後、tcshは少し後退していることがわかりました。たとえば、bashで簡単に実行できることは、tcshで実行するのが難しいことです。 tcshに関する私の質問 。インターネットのサポートとドキュメントは、bashの場合ははるかに優れており、tcshの場合は非常に制限されています。 bashに関するO'Reillyの本はたくさんありますが、tcshに似たものは見つかりませんでした。
実際には、zsh
に移動する必要があります。これは基本的に下位互換性があり、bash
のすべてのユーティリティを備えており、 awesomeness を大きくサポートしています。 本 もあります(私はそれを読むことに慣れていません)。
私は onezsh
をbash
よりも使用しない理由を認めますが、複数の新規インストールで常に作業しているのでない限り、実際には適用されません。特に、最も重要な differences について知っている場合。ただし、これはvim
とvi
の違いに非常に似ています。世間知らずになりたくはありませんが、実際には大したことではありません。筋金入りのvim
ユーザーでさえemacs
の周りに自分の道を見つけることができ、逆もまた同様です。
POSIX準拠のシェルに切り替える必要があります http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html 、bash、ksh、dashのように、zshではなく、確かにtcsh。 cshがスクリプティングの不適切な選択であると宣言されてから久しぶりです http://www.faqs.org/faqs/unix-faq/Shell/csh-whynot/ 、tcshはそうではありませんその地域ではそれほど異なります。
スクリプトを作成するとき、移植性のないもので再びロックされたくない場合は、POSIXのみの構成を使用してください(つまり、バシズムなどを避けます)。
取りつかれた互換性はポイントを欠いていると思います。あなたが#!/bin/sh
先頭に。sh拡張子を使用しますが、bash以外はテストしないでください。互換性のあるスクリプトは保証されていません! #!/bin/bash
および。bashユーザーが実際の要件を実際に把握できるようにします。
zsh、tcsh、またはbashより良い何かを知っていて、そのための優れたリファレンスマニュアルがある場合遠慮しないでください。一部のスクリプトを実行できるようにPerlまたはpythonをインストールすることを期待しているように、あいまいなシェルのインストールも処理できます。 :D
どのシェル? 「使いやすさ」と「手間」の比率が最も高いものを選びます...
「Maserati」シェルの十分な一般的な例と説明が見つからない場合、追加のパフォーマンスがボーナスよりも問題になる可能性があります...
この記事/サイトは興味深いものでした。読む価値があるかもしれません:
NIXシェルの違いとシェルの変更方法
zshは、おそらくbashよりもtcshにいくつかの類似点があります。
参照: http://zsh.sourceforge.net/FAQ/zshfaq02.html#l1
人々はしばしばzshがbashができないことをすることができると主張します、しかし私はそれが事実であるとは知りませんでした。私が持っていることは、zshの方が簡単で、組み込みまたはデフォルトでオンになっているのに対し、bashではアドオンスクリプトなので、オン、またはより困難です。
(免責事項:私は時々zshへの切り替えを検討したbashユーザーです)