Saya ingin tahu apakah skrip yang ditulis untuk dash, ash, dan sh 100% kompatibel?
Apakah ada fitur tambahan untuk dasbor atau abu, atau perubahan sintaks?
Dari apa yang saya dengar, abu adalah keturunan langsung sh.
shell
shell-script
compatibility
dash
ash
pengguna1115057
sumber
sumber
man ash
checkbashisms
untuk menguji apakah skrip Anda kompatibel dengan POSIX.Jawaban:
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,
dash
semacam turunanash
- atau port dari BSD ke Linux, tepatnya. Dan semuanya harus keturunan atau implementasi yang berbedash
. Bahkan,sh
pada sebagian besar sistem hanya symlinkbash
,dash
atau 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.sumber
Harus disebutkan bahwa pada beberapa sistem, terutama Debian, / bin / ash tidak tersedia:
sumber