Bash bukan satu-satunya shell Linux. Sangat mudah untuk mencoba shell lain, seperti Zsh, yang sangat populer. Ketika Anda menemukan yang Anda suka, gunakan perintah chsh untuk menjadikannya shell default Anda. Kami akan menunjukkan caranya.
Mengapa Shell Itu Penting
Shell berada di antara Anda dan sistem operasi. Ini menyediakan lingkungan di dalam jendela terminal yang memungkinkan Anda mengetik perintah dan menjalankan program. Shell memeriksa masukan Anda dan mencari tahu apa yang Anda inginkan. Jika ia dapat melakukan penawaran Anda sendiri, maka ia akan melakukannya. Jika memerlukan bantuan dari luar, ia akan mencari jalurnya dan menemukan program yang dapat melakukan apa pun yang Anda minta.
Ada banyak shell berbeda yang tersedia di Linux. Semuanya memungkinkan Anda melakukan tugas inti yang sama: menjelajahi sistem file, bekerja dengan file, meluncurkan program, dan menjalankan skrip. Namun, masing-masing melakukan tugas ini dengan cara mereka sendiri, dan memiliki fitur khusus dan keistimewaan mereka sendiri.
Shells cenderung dirancang oleh orang-orang yang ingin sesuatu berperilaku dengan cara tertentu. Jika pemikiran Anda sejalan dengan pemikiran desainer tersebut, cangkang itu mungkin cocok untuk Anda. Selain itu, mencoba shell baru di Linux itu mudah.
Di sebagian besar distribusi Linux, termasuk Ubuntu, shell defaultnya adalah bash. Ia melakukan pekerjaan dengan baik dan sangat mampu. Namun, shell lain mungkin menawarkan perbedaan penghematan waktu yang akan berdampak besar pada alur kerja Anda. Anda tidak akan pernah tahu jika Anda tidak melihatnya!
Apa Shell Linux Terbaik?
Kami telah membahas berbagai shell Linux sebelumnya, namun inilah pengenalan singkat tentang shell yang paling umum:
bash: Shell Bourne lagi adalah default di banyak distribusi. rbash: Shell Restrictedbash ini menyediakan fungsionalitas minimal untuk orang atau skrip yang berjalan di dalamnya. ash: Shell Almquist adalah versi bash yang lebih ringan. tanda hubung: Debian Alquist Shell adalah skrip shell default di Ubuntu. Meskipun bash adalah login default dan shell interaktif, tanda hubung digunakan untuk menjalankan proses sistem karena jauh lebih ringan daripada bash. zsh: Z shell adalah versi modern dari keluarga shell bash. Ini menawarkan peningkatan yang rapi, seperti pemeriksaan ejaan perintah dan koreksi yang disarankan. ikan: Shell interaktif ramah ini ditulis dari awal dan tidak berasal dari keluarga shell lainnya. Ini dimaksudkan agar mudah digunakan. Di antara banyak fasilitas lainnya, fish menawarkan saran perintah berdasarkan riwayat Anda dan konten folder saat ini, mirip dengan teks prediktif. ksh: KornShell menyediakan bahasa skrip yang sangat kuat. Daftar Shell yang Terpasang
Untuk melihat shell mana yang terinstal di komputer Anda, gunakan perintah ini. Ini hanya mencantumkan isi file /etc/shells:
cat /etc/shells
Kami telah menyebutkan bash, dash, dan rbash, tapi apa itu sh?
sh adalah shell Thompson, yang ditulis pada tahun 1971 oleh Ken Thompson dari Bell Labs popularitas. Ia tidak lagi dipelihara dan telah lama digantikan oleh cangkang modern. Ini disertakan semata-mata untuk menjaga kompatibilitas dengan skrip lama yang masih memiliki baris pertama berikut:
#!/bin/sh
Ini memerintahkan sistem untuk menggunakan shell sh untuk menjalankan skrip. Apakah Anda benar-benar memiliki shell kuno di mesin Anda, dan apakah itu digunakan untuk menjalankan skrip Anda? Perintah yang mana akan memberi tahu kita program mana yang sebenarnya berjalan saat Anda mengetikkan perintah.
Mari kita lihat apa yang berjalan saat Anda mengetik sh:
which sh
Ini muncul untuk menemukan biner. jika kita menggali lebih dalam, kita akan melihat bahwa itu adalah tautan simbolik yang sebenarnya menunjuk ke tanda hubung, shell ringan yang digunakan untuk menjalankan skrip:
ls -l /bin/sh
Itu adalah cara yang rapi dan ringan untuk menyediakan jaring pengaman bagi skrip yang mengharapkan untuk menemukan sh pada sistem modern.
Memasang Shell Lain
Mari kita instal cangkang ikan dan mengaturnya sebagai default untuk dave. Di Ubuntu, kita ketik perintah berikut:
sudo apt-get install fish
Di Manjaro, gunakan pacman:
sudo pacman -Sy fish
Di Fedora, ketikkan yang berikut:
sudo dnf install fish
Saat instalasi selesai, Anda dapat memeriksa shell yang diinstal sekali lagi:
cat /etc/shells
Shell baru kami muncul sebagai /usr/bin/fish. Catat jalur tersebut—Anda akan membutuhkannya segera.
Variabel Lingkungan $SHELL
Variabel lingkungan $SHELL menyimpan nama shell Anda saat ini. Kita dapat memeriksa yang mana yang disetel dengan echo:
echo $SHELL
Mari kita mulai cangkang ikan:
fish
Sekarang, mari kita periksa lagi apa yang dikatakan oleh variabel lingkungan $SHELL:
echo $SHELL
Pertama kali kita menggunakan echo $SHELL, kita berada di cangkang pesta. Variabel lingkungan menyimpan jalur ke bash yang dapat dieksekusi, /bin/bash.
Saat kami meluncurkan cangkang ikan, kami mendapatkan pesan selamat datang yang ramah dan prompt perintah berubah. Yang mungkin mengejutkan adalah lingkungan $SHELL masih menyimpan jalur ke bash yang dapat dieksekusi, /bin/bash. Tidak apa-apa—ini normal.
Saat Anda meluncurkan shell baru (atau program lainnya), ia mewarisi lingkungan shell induk. Jadi, shell ikan mewarisi variabel lingkungan global dan diekspor dari bash shell. Karena nilai dalam variabel lingkungan $SHELL belum diubah, nilai di shell ikan sama dengan nilai di shell bash.
Kami menjalankan fish seperti program lainnya. Kita juga bisa menggunakan exit untuk keluar dari cangkang ikan. Itu ditutup seperti program lainnya, dan kita kembali ke bash shell.
Itu bagus untuk mencoba shell baru, melihat apa yang bisa mereka lakukan, dan apakah Anda cocok dengannya. Anda dapat menjelajah sebelum melakukan lompatan dan mengadopsinya sebagai cangkang pilihan Anda.
Jika Anda memutuskan untuk menjadikan ikan—atau cangkang lainnya—sebagai default, Anda harus menggunakan perintah chsh.
Perintah chsh
Perintah chsh memungkinkan Anda mengubah shell default Anda. Triknya adalah menyadari bahwa ini memungkinkan Anda mengubah login default dan shell interaktif default. Anda mungkin ingin mengubah salah satu, atau keduanya.
Setiap kali Anda masuk untuk mendapatkan prompt perintah, Anda menggunakan shell yang dikonfigurasikan sebagai shell login Anda. Ketika Anda sudah masuk dan membuka jendela terminal, Anda menggunakan shell yang dikonfigurasikan menjadi shell interaktif Anda. Ini bisa berupa shell yang sama atau berbeda.
Untuk mengatur shell login Anda, gunakan chsh tanpa parameter:
chsh
Anda diminta memasukkan kata sandi. Kemudian, Anda harus mengetikkan path ke shell baru dan tekan Enter.
Jika kita membuat koneksi jarak jauh ke komputer uji ini dari komputer lain, kita akan menemukan diri kita di shell ikan setelah kita login.
Untuk mengubah penggunaan shell interaktif Anda chsh dengan opsi -s (shell). Lewati jalur ke shell baru pada baris perintah:
chsh -s /usr/bin/fish
Anda diminta memasukkan kata sandi dan kembali ke prompt perintah shell Anda saat ini. Anda harus keluar dan masuk kembali agar perubahan diterapkan. Ketika Anda melakukannya, Anda akan melihat salam dan prompt perintah shell ikan.
Variabel lingkungan $SHELL sekarang menyimpan jalur ke shell default baru Anda:
echo $SHELL
Mengubah Shell Akun Pengguna Lain
Jika Anda memiliki hak akses root dan dapat menggunakan sudo, Anda dapat mengubah shell akun pengguna lain. Perintahnya sama seperti sebelumnya, dengan penambahan nama pengguna orang tersebut ditambahkan ke baris perintah:
sudo chsh -s /usr/bin/fish mary
Saat mary login berikutnya, dia akan melihat shell baru saat dia membuka a jendela terminal.