Sebagian besar distribusi Linux baru-baru ini menyertakan bash sebagai shell default, meskipun ada shell lain yang lebih baik.
Saya mencoba untuk memahami apakah ini adalah sisa sejarah yang tak seorang pun ingin berubah, atau adakah alasan bagus yang menjadikan bash pilihan pertama?
/bin/sh
, yang merupakan shell standar pada UNIX-es 'normal' ...bash
adalah shell terbaik karena saya tahu dengan baik dan itu ada di mana-mana, melakukan semua yang saya butuhkan secara ringkas dan relatif mudah, mudah dibaca, dan dapat agak dipahami oleh orang-orang tanpa mengetahui cara membuat skrip bash. Apa lagi yang Anda inginkan dari shell? Jika Anda ingin banyak fitur pemrograman, Anda menggunakan shell secara tidak benar.Jawaban:
Jawaban singkatnya adalah karena linux benar-benar GNU / Linux. Hanya kernelnya adalah linux tetapi kumpulan utilitas dasar yang menyediakan lingkungan mirip Unix disediakan oleh GNU dan shell GNU adalah bash
Seperti yang saya katakan, itulah jawaban singkatnya;)
diedit untuk menambahkan beberapa komentar tambahan ...
Izinkan saya awalan dengan mengatakan bahwa saya bukan sejarawan Unix, jadi saya hanya dapat menjawab IMHO
Beberapa poin, pertama-tama bash adalah wastafel dapur kerang, seperti emacs adalah untuk editor.
Pada saat bash dirilis tidak ada implementasi ksh gratis, tcsh adalah pengganti csh gratis, tetapi Stallman memiliki kata-kata kasar terhadap csh untuk pemrograman shell.
Sebagai shell shell interaktif memiliki riwayat / perintah recall yang sangat baik, bersama dengan penghematan sejarah dari sesi ke sesi. Itu adalah penurunan pengganti sh, bsh, ksh untuk pemrograman shell dan dibuat untuk shell interaktif yang layak.
Seperti bola salju yang bergulir menuruni bukit, bash telah mendapatkan momentum dan ukuran.
Ya, ada puluhan kerang lainnya; kerang yang lebih cocok untuk tujuan atau rasa individu, tetapi untuk satu di sekitar shell melakukan pekerjaan yang layak dan telah memiliki banyak mata di atasnya selama lebih dari 20 tahun.
sumber
Bash memiliki beberapa pesaing potensial:
/bin/sh
. Ash (yang saya maksudkan salah satu keluarga kerang longgar yang disebut ash) dirancang agar kecil dan cepat, tanpa fitur interaktif (hanya untuk mengedit skrip). Kebangkitan abu relatif baru; pada 1990-an varian yang ada tidak memiliki banyak fitur.Selanjutnya bash adalah shell GNU resmi , dan sistem Linux benar-benar GNU / Linux : banyak program inti berasal dari GNU, bahkan jika bagian yang paling terkenal, kernel Linux, tidak. Pada saat itu menjadi standar de facto, bash terkenal, memiliki status resmi, dan memiliki serangkaian fitur yang layak.
sumber
/bin/sh
, lainnya mengirimkan abu. Misalnya Ubuntu/bin/sh
telahdash
(garpu abu yang dikelola oleh Debian) untuk sementara waktu. Bash memiliki lebih banyak fitur, abu lebih kecil dan lebih cepat. Keduanya patuh POSIX (atau setidaknya cukup patuh dalam praktiknya).Jawaban paling sederhana? Karena sesuatu "harus" default. Default yang paling masuk akal adalah yang paling nyaman digunakan oleh pengguna. Pada saat itu Bash adalah pilihan yang baik. Setiap orang memiliki kebebasan untuk memilih mana yang terbaik, di dunia mereka. Sebagian besar akan memilih untuk menggunakan default jika selalu melakukan apa yang mereka butuhkan.
sumber
Berasal dari DOS (dengan doskey terinstal) Saya sangat merindukan fitur untuk mengingat perintah terakhir hanya dengan menggerakkan kursor ke atas / bawah. BASH adalah IMO shell pertama yang mengimplementasikan ini pada * nix.
Jadi mungkin sebagian besar lelaki dari generasi itu menyukai bash.
sumber
tcsh
itu adalah shell * nix pertama yang menggunakan tombol panah untuk menavigasi bolak-balik melalui sejarah shell.Semua jawaban lain bagus, tetapi dari sudut pandang praktis: Jika saya duduk di depan sistem yang tidak dikenal (atau mengaksesnya dari jarak jauh) dan saya perlu melakukan sesuatu, saya dapat mengandalkan bash yang tersedia di semua sistem kecuali yang tertua. Saya bisa melanjutkan dan menyelesaikan sesuatu.
Seperti yang ditunjukkan dalam jawaban lain dan dalam pertanyaan Anda, ada banyak shell lain (saya mendengar banyak hal baik tentang zsh, tetapi belum mencobanya.), Tetapi mereka berbeda sehubungan dengan sintaks dan kadang-kadang perintah yang digunakan untuk menyelesaikan sesuatu. Jika saya hanya ingin menyelesaikan sesuatu, bash cukup sulit tanpa harus beradaptasi dengan shell lain.
Juga, ketika saya menulis skrip shell yang mungkin berguna secara umum, saya menulisnya untuk bash dan saya tahu bahwa jika saya sangat berhati-hati untuk tidak melakukan hal-hal yang bergantung pada sistem, itu akan berjalan hampir di mana saja.
sumber
Kelembaman.
Bash kebetulan merupakan shell gratis yang paling mudah tersedia ketika sistem Linux (GNU / Linux, jika Anda mau) mulai muncul. Fakta bahwa itu dari proyek GNU tidak ada salahnya.
Adapun mengapa itu masih shell default, tidak pernah ada alasan yang cukup baik untuk mengubahnya. Bahkan jika beberapa shell lain lebih baik, ada keuntungan memiliki shell login default yang sama di berbagai distribusi, dan akan sulit untuk membuat semua orang (Debian, Red Hat, Suse, dll.) Setuju untuk beralih ke yang lain.
Dan setelah semua, itu hanya default. Setiap pengguna dapat menggunakan
chsh
untuk mengubah shell login-nya. Tidak perlu mengubah default untuk semua orang.sumber