Jawaban singkatnya adalah tidak, mereka tidak 100% kompatibel.
Tetapi sebagian besar cangkang cukup dekat dengan dasar, sehingga Anda hanya akan jarang menemui ketidakkonsistenan. Bahkan, sebagian besar shell tidak berbeda jauh dengan menambahkan sintaks, tetapi oleh beberapa fitur tambahan seperti tab-completion dan sejenisnya.
Juga, dashsemacam turunan ash- atau port dari BSD ke Linux, tepatnya. Dan semuanya harus keturunan atau implementasi yang berbeda sh. Bahkan, shpada sebagian besar sistem hanya symlink bash, dashatau sesuatu yang lain. Yang penting adalah kepatuhan POSIX - dan ketika Anda menulis skrip sesuai dengan standar, Anda tidak akan mengalami masalah.
Perbedaan antara cangkang itu adalah dalam optimasi dan kinerja. Mereka kurang kaya fitur bash, tetapi mereka sepenuhnya shell yang sah. Bash kaya fitur untuk pekerjaan interaktif, tetapi menggunakan lebih banyak memori, misalnya.