web-dev-qa-db-ja.com

異なるシェル間の重要な違いは何ですか?

重複の可能性:
主流の* NIXシェル間の基本的な違いは何ですか?

bashでシェルスクリプトを記述した場合、kshでも実行されますか?

そうでない場合、違いは何ですか?

5
Joe

使用している特定のコマンド/機能によって異なりますが、通常は使用しません。

シェル間の違いの概要については、 http://en.wikipedia.org/wiki/Comparison_of_command_shells を参照してください。

6
Matteo

いいえ。bashとkshには、カスタム固有の拡張機能と動作があります。移植可能なスクリプトを作成する場合は、POSIX構文に固執します。

http://pubs.opengroup.org/onlinepubs/009695399/utilities/sh.html

http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html

3
jlliagre

個別のシェルを個別のプログラミング言語として扱うのが最善です。 polyglot シェルスクリプトを書こうとしないでください。シェルスクリプトが読めなくなり、不格好になります。代わりに、1つのシェルでプログラミングする方法を学び、最初の行の hashbang で、常にそのシェルをスクリプトのインタープリターとして指定するように注意してください。

スクリプトが実行されているシェルは、スクリプトを実行しているシェルとは何の関係もないことに注意してください。したがって、cshを介してUNIXシステムと対話していると同時に、kshのすべてのシェルスクリプトを記述している可能性があります。

2
Kusalananda