Kebanyakan distribusi Linux menyertakan bash shell secara default, tetapi Anda juga dapat beralih ke lingkungan shell yang lain. Zsh adalah alternatif yang sangat populer, dan ada cangkang lainnya, seperti abu, dasbor, ikan, dan tcsh. Tapi apa bedanya, dan mengapa ada begitu banyak?
Ketika Anda masuk di baris perintah atau meluncurkan jendela terminal di Linux, sistem akan meluncurkan program shell. Kerang menawarkan cara standar memperluas lingkungan baris perintah. Anda dapat menukar shell default untuk yang lain, jika Anda suka.
Lingkungan shell pertama adalah Shell Thompson, dikembangkan di Bell Labs dan dirilis pada tahun 1971. Lingkungan shell telah membangun konsep sejak itu, menambahkan berbagai fitur baru, fungsionalitas, dan peningkatan kecepatan.
Sebagai contoh, Bash menawarkan perintah dan penyelesaian nama file, fitur scripting lanjutan, sejarah perintah, warna yang dapat dikonfigurasi, alias perintah, dan berbagai fitur lain yang tidak tersedia pada tahun 1971 ketika shell pertama dirilis.
Shell juga digunakan di latar belakang oleh berbagai layanan sistem. Distribusi Linux mencakup banyak fungsi yang ditulis sebagai skrip shell. Skrip ini adalah perintah dan fungsi scripting shell lanjutan lainnya yang dijalankan melalui lingkungan shell.
Nenek moyang yang paling menonjol dari cangkang modern adalah Bourne shell-juga dikenal sebagai "sh" -yang dinamai setelah penciptanya Stephen Bourne yang bekerja di AT & T Bell Labs. Dirilis pada tahun 1979, ia menjadi juru bahasa-perintah standar di Unix karena dukungannya untuk substitusi perintah, pemipaan, variabel, pengujian kondisi, dan perulangan, bersama dengan fitur-fitur lainnya. Itu tidak menawarkan banyak kustomisasi untuk pengguna, dan tidak mendukung kelezatan modern seperti alias, penyelesaian perintah, dan fungsi shell (meskipun yang terakhir ini akhirnya ditambahkan).
C shell, atau "csh", dikembangkan pada akhir 1970-an oleh Bill Joy di University of California, Berkley. Ini menambahkan banyak elemen interaktif dengan mana pengguna dapat mengontrol sistem mereka, seperti alias (pintas untuk perintah panjang), kemampuan manajemen pekerjaan, sejarah perintah, dan banyak lagi. Itu dimodelkan dari bahasa pemrograman C, yang sistem operasi Unix sendiri ditulis. Ini juga berarti bahwa pengguna Bourne shell harus belajar C sehingga mereka bisa memasukkan perintah di dalamnya. Selain itu, csh memiliki beberapa bug yang harus disingkirkan oleh pengguna dan pembuat konten selama periode waktu yang besar. Orang-orang akhirnya menggunakan Bourne shell untuk skrip karena menangani perintah non-interaktif yang lebih baik, tetapi tetap menggunakan shell C untuk penggunaan normal.
Seiring waktu, banyak orang memperbaiki bug dan menambahkan fitur ke shell C, memuncak dalam versi perbaikan dari csh yang dikenal sebagai "tcsh". Tapi csh masih default di komputer berbasis Unix, dan telah menambahkan beberapa fitur non-standar. David Korn dari Bell Labs bekerja di KornShell, atau “ksh”, yang mencoba memperbaiki situasi dengan menjadi kompatibel dengan bahasa Bourne shell tetapi menambahkan banyak fitur dari csh shell. Itu dirilis pada tahun 1983, tetapi di bawah lisensi kepemilikan. Itu bukan perangkat lunak bebas sampai tahun 2000-an, ketika dirilis di bawah berbagai lisensi open-source.
Antarmuka Sistem Operasi Portabel untuk Unix, atau POSIX, merupakan respons lain terhadap penerapan csh milik yang sibuk. Ini berhasil menciptakan standar untuk interpretasi perintah (antara lain) dan akhirnya mencerminkan banyak fitur di KornShell. Pada saat yang sama, Proyek GNU berusaha menciptakan sistem operasi bebas Unix yang kompatibel. Proyek GNU mengembangkan shell perangkat lunak bebas untuk menjadi bagian dari sistem operasi bebasnya dan menamakannya "Bourne Again Shell", atau "bash".
Bash telah ditingkatkan dalam beberapa dekade sejak rilis pertama pada tahun 1989, tetapi masih merupakan shell default pada kebanyakan distribusi Linux saat ini. Ini juga merupakan shell default pada macOS Apple, dan tersedia untuk instalasi pada Microsoft Windows 10.
Sementara komunitas Linux telah menetap di Bash di tahun-tahun sejak, pengembang tidak berhenti menciptakan kerang baru ketika Bash pertama kali dirilis 28 tahun yang lalu.
Kenneth Almquist menciptakan clone shell Bourne yang dikenal sebagai Almquish shell, A Shell, "ash", atau kadang-kadang hanya "sh". itu juga POSIX kompatibel dan menjadi shell default di BSD, cabang berbeda dari Unix. Shell abu lebih ringan daripada bash, yang membuatnya populer di sistem Linux tertanam. Jika Anda memiliki ponsel Android yang sudah di-root dengan BusyBox diinstal-atau perangkat lain dengan perangkat lunak BusyBox-itu menggunakan kode dari abu.
Debian mengembangkan lingkungan shell berdasarkan abu dan menyebutnya "dash". Ini dirancang agar POSIX-compliant dan ringan, jadi lebih cepat dari Bash, tetapi tidak akan memiliki semua fitur-fiturnya. Ubuntu menggunakan shell dasbor sebagai shell default untuk tugas-tugas non-interaktif, mempercepat skrip shell dan tugas lain yang berjalan di latar belakang. Ubuntu masih menggunakan bash untuk shell interaktif, namun, sehingga pengguna masih memiliki lingkungan interaktif berfitur lengkap.
Salah satu cangkang baru yang paling populer adalah Z shell, atau "zsh". Dibuat oleh Paul Falstad pada tahun 1990, zsh adalah cangkang ala Bourne yang berisi fitur yang akan Anda temukan di bash, plus bahkan lebih banyak lagi. Sebagai contoh, zsh memiliki pemeriksaan ejaan, kemampuan untuk melihat login / logout, beberapa fitur pemrograman built-in seperti bytecode, dukungan untuk notasi ilmiah dalam sintaks, memungkinkan untuk aritmatika floating-point, dan lebih banyak fitur.
Shell lain yang lebih baru adalah Friendly Interactive Shell, atau "fish", dirilis pada tahun 2005. Ini memiliki sintaks perintah-baris yang unik yang dirancang untuk menjadi sedikit lebih mudah untuk dipelajari, tetapi tidak berasal dari Bourne shell atau C shell. Ini adalah ide yang menarik, tetapi apa yang Anda pelajari melalui penggunaan ikan tidak akan selalu membantu Anda menggunakan bash dan cangkang yang berasal dari Bourne lainnya.
Anda tidak perlu memilih cangkang. Sistem operasi Anda memilih shell default untuk Anda, dan pilihan itu hampir selalu bash. Duduklah di depan distribusi Linux-atau bahkan Mac-dan Anda akan hampir selalu memiliki lingkungan shell bash. Bash memiliki beberapa fitur lanjutan, tetapi Anda mungkin tidak akan menggunakannya kecuali Anda memprogram skrip shell.
Pada sistem Linux tertanam atau sistem BSD, Anda akan berakhir dengan kulit abu. Tapi abu adalah cangkang berbasis Bourne dan sebagian besar kompatibel dengan bash. Pengetahuan apa pun yang Anda miliki menggunakan bash akan mentransfer ke menggunakan abu atau shell dash, meskipun beberapa fitur scripting lanjutan tidak tersedia dalam shell ringan ini.
Hampir setiap shell yang Anda temui adalah Bourne berbasis dan bekerja sama-termasuk zsh.
Itulah mengapa zsh populer. Shell yang lebih baru ini kompatibel dengan bash, tetapi mencakup lebih banyak fitur. Shell zsh menawarkan koreksi ejaan built-in, peningkatan penyelesaian baris perintah, modul yang dapat dimuat yang bertindak sebagai plug-in untuk shell Anda, alias global yang memungkinkan Anda untuk alias nama file atau apa pun pada baris perintah, bukan hanya perintah, dan dukungan lebih banyak tema. Ini seperti bash, tetapi dengan banyak ekstra, fitur tambahan, dan opsi yang dapat dikonfigurasi yang mungkin Anda hargai jika Anda menghabiskan banyak waktu di baris perintah.
Jika Anda terbiasa dengan bash, Anda dapat beralih ke zsh tanpa mempelajari sintaks yang berbeda-Anda hanya akan mendapatkan fitur tambahan. jika Anda terbiasa dengan zsh, Anda dapat beralih ke bash tanpa mempelajari sintaks yang berbeda - Anda tidak akan memiliki akses ke fitur-fitur tersebut.
"Oh My ZSH" adalah alat yang membantu Anda lebih mudah mengaktifkan plug-in zsh dan beralih di antara tema-tema yang dibuat sebelumnya, dengan cepat menyesuaikan shell zsh Anda tanpa menghabiskan waktu berjam-jam untuk mengatur berbagai hal.
Ada cangkang lainnya juga. Sebagai contoh, shell tcsh masih ada dan masih menjadi pilihan. FreeBSD menggunakan tsch sebagai shell dan abu root default sebagai shell interaktif default. Jika Anda menggunakan pemrograman C secara teratur, mungkin akan lebih cocok bagi Anda. Namun, itu tempat dekat seperti yang umum digunakan sebagai bash atau zsh.
Sangat mudah untuk beralih ke shell baru untuk mencobanya. Cukup instal shell dari manajer paket distribusi Linux Anda dan ketik perintah untuk meluncurkan shell.
Sebagai contoh, katakanlah Anda ingin mencoba zsh di Ubuntu. Anda akan menjalankan perintah berikut untuk menginstal dan kemudian meluncurkannya:
sudo apt install zsh zsh
Anda kemudian akan duduk di shell zsh. Ketik ” keluar
"Di shell untuk meninggalkannya dan kembali ke shell Anda saat ini.
Ini hanya sementara. Setiap kali Anda membuka jendela terminal baru atau masuk ke sistem Anda di baris perintah, Anda akan melihat shell default Anda. Untuk mengubah cangkang yang Anda lihat saat Anda masuk sebagai cangkang login-Anda biasanya dapat menggunakan chsh
, atau "Ubah Shell", perintah.
Untuk menggunakan perintah ini, Anda harus terlebih dahulu menemukan path lengkap ke shell Anda dengan perintah yang mana. Sebagai contoh, katakanlah kita ingin mengubah ke shell zsh. Kami menjalankan perintah berikut:
yang zsh
Di Ubuntu, ini memberitahu kita biner zsh disimpan di / usr / bin / zsh.
Jalankan perintah berikut, masukkan kata sandi Anda, dan Anda akan diminta untuk memilih shell login baru:
chsh
Menurut perintah di atas, kami akan masuk / usr / bin / zsh
. Shell zsh akan menjadi standar kami sampai kami menjalankannya chsh
perintah dan mengubahnya kembali.