Dari shell Unix utama (bash, ksh, tcsh, zsh, lainnya?), Adakah alasan kuat untuk menggunakan satu sama lain?
- Yang mana yang paling interaktif / baris perintah yang ramah?
- Manakah yang paling kondusif / intuitif untuk menulis skrip?
- Apakah ada fitur bawaan utama yang ditawarkan oleh satu shell yang tidak dimiliki oleh yang lain?
- Apakah ada di antara cangkang ini yang benar-benar bagus untuk satu jenis fungsi, tetapi tidak yang lain? Atau apakah mereka semua cukup bulat / fleksibel?
- Apakah ini hanya masalah pilihan pribadi?
Saya dapat membuat komunitas wiki ini jika ada yang lebih suka.
ikan adalah cangkang baru yang mungkin lebih menarik daripada yang lain, bukan karena itu pasti memiliki lebih banyak fitur, tetapi karena mereka Hanya Bekerja secara default dan karena ikan berusaha untuk kegunaan.
Beberapa tangkapan layar ( 1 , 2 , 3 , 4 ) sudah cukup untuk memberikan gambaran umum.
ikan sekarang adalah shell default pada Mac saya di tempat kerja. Sosok pergi.
sumber
Jika Anda akan belajar sebuah shell selain
sh
/bash
, Anda mungkin juga cukup denganzsh
. Saya tidak berpikir ada orang yang dengan serius membantah bahwa itu adalah shell alternatif yang paling kuat dan penuh fitur; apakah itu hanya mengasapi, tentu saja, masih bisa diperdebatkan.Saya pernah mendengar hal-hal baik tentang
fish
, tetapi tidak pernah berusaha untuk repot dengan mereka.Admin yang saya tahu menganggap
csh
dantcsh
menjadi kekejian yang harus dihindari dengan cara apa pun, dan saya setuju dengan mereka meskipun tidak pernah dipaksa untuk menempatkan diri saya melalui kedua shell.sumber
Saya akan merekomendasikan mengetahui bash dengan baik karena ini adalah salah satu yang paling umum (umumnya standar Linux). Secara pribadi, saya suka zsh sebagai shell interaktif saya. Ini memiliki fitur penyelesaian yang luar biasa. Sebagai contoh, Anda dapat mengatur daftar host dan ketika Anda melakukan sesuatu seperti ssh Ser [tab] ia akan tahu untuk mencoba tab secara otomatis melengkapi salah satu dari host tersebut. Ini juga memiliki globing rekursif, jadi jika Anda ingin menemukan semua file jpeg di subdirektori saat ini dan Anda dapat menggunakan
ls -ld **/*.jpg
. Ada banyak fitur menyenangkan dengan zsh (mencari file .zshrc orang), dan Anda dapat mengaturnya menjadi 'bash kompatibel', sehingga mudah untuk beralih di antara keduanya. Jika Anda menggabungkan ini dengan Layar GNU Anda mungkin menemukan baris perintah menjadi cukup menyenangkan untuk bekerja dengannya.sumber
Jangan lupa pertanyaan Anda yang lain. Unix / Linux shell yang paling umum - shell yang paling populer mungkin paling populer karena suatu alasan ;-)
Untuk apa nilainya, kebanyakan orang tidak sering mematikan kerang sehingga sulit untuk mendapatkan perbandingan yang lengkap dari berbagai opsi; Anda akan lebih cenderung melihat orang yang berbeda mendukung kebaikan kerang favorit mereka. Dari sedikit yang saya dengar tentang cangkang yang berbeda, mereka semua menawarkan beberapa fitur dasar yang sama (seperti pengalihan I / O, sejarah perintah, dll.) Sehingga preferensi pribadi cenderung menjadi komponen besar.
sumber
Alasan kuat untuk menggunakan ZSH yang belum disebutkan adalah mode vi dan mode emacs .
Bagi mereka yang suka menggunakan memori otot vi mereka di shell, ini adalah fitur pembunuh.
Dan bagi mereka yang lebih suka emacs, Anda dapat menggunakan keybindings itu juga, tetapi emacs-Mukmin sejati mungkin akan mengatakan bahwa emacs adalah shell favorit mereka.
;-)
sumber
Preferensi untuk penggunaan sehari-hari benar-benar merupakan selera pribadi, namun, ketika menulis skrip, saya mencoba untuk memenuhi persyaratan posix demi portabilitas.
sumber
Sama seperti Heads Up: Ubuntu default "sh" to "dash" yang menyebabkan beberapa masalah di masa lalu dengan kompatibilitas POSIX. Rupanya, perintah gema sedikit berbeda.
sumber