dash、ash、shスクリプトは100%互換ですか?

dash、ash、shスクリプトは100%互換ですか?

dash、ash、sh用に作成されたスクリプトが100%互換性があるかどうかを知りたいです。

ダッシュや再に関する​​追加機能や構文の変更はありますか?

私が知っている限り、Ashはshの直系の子孫です。

ベストアンサー1

簡単に答えると「いいえ」です。 100%互換ではありません。

しかし、ほとんどのシェルは基本に非常に近いので、不一致はほとんどありません。実際、ほとんどのシェルは追加された構文の点ではほとんど変わりませんが、タブの完成などのいくつかのアドインでは異なります。

そして正確に言えば、dashBSDの子孫であるLinuxです。ashすべての子孫であるか、別の実装でなければなりませんsh。実際、ほとんどのシステムでは、shシンボリックリンクや他のものへのシンボリックリンクだけです。重要なのはPOSIXコンプライアンスです。標準に従ってスクリプトを書くときに問題は発生しません。bashdash

このシェルの違いは最適化とパフォーマンスです。機能が少ないbashが、完全に合法的なシェルです。 Bashはインタラクティブな作業のための豊富な機能を備えていますが、より多くのメモリを消費します。

おすすめ記事