Bash VS Zsh: Perbezaan dan Perbandingan

Bash Vs Zsh Differences



Pukulan shell adalah shell lalai untuk Linux dan dilepaskan dalam penggantian Bourne Shell. Banyak penyelesaian tugas dan pengaturcaraan automatik yang dapat dilakukan oleh Pukulan dengan mudah. Terdapat banyak cengkerang lain yang terdapat di Linux untuk melakukan jenis kerja yang sama seperti Pukulan . Cangkang Z atau Zsh adalah salah satu daripadanya yang dicipta selepasnya Pukulan . Ia mempunyai banyak ciri seperti Bash tetapi beberapa ciri Zsh menjadikannya lebih baik dan lebih baik daripada Bash, seperti pembetulan ejaan, automasi cd, tema yang lebih baik, dan sokongan pemalam, dll. Pengguna Linux tidak perlu memasang shell Bash kerana dipasang secara lalai dengan pengedaran Linux. Zsh atau shell Z tidak dipasang dalam sistem secara lalai. Pengguna perlu memasang shell ini untuk menggunakannya. Beberapa ciri biasa untuk Pukulan dan Zsh tetapi ada beberapa perbezaan besar antara cangkang ini yang dijelaskan dalam artikel ini dengan penjelasan yang tepat.

Menggunakan ‘ CD Perintah

Perintah ‘cd’ digunakan pada shell Bash dan Zsh untuk mengubah direktori semasa. Ciri yang digunakan untuk mencari direktori secara berulang-ulang untuk mengetahui fail dan folder dipanggil pengembangan jalan rekursif yang disokong oleh zsh sahaja. Penggunaan perintah ‘cd’ dalam shell bash dan zsh ditunjukkan di sini.







Pukulan

Anda harus menaip jalur penuh direktori dalam bash untuk mengubah direktori dan pengembangan jalur rekursif tidak disokong oleh bash.



$CD kod/ ular sawa



Zsh

Direktori dan fail dapat dicari dengan mudah di cangkang ini. Sekiranya anda menaip cd + ruang + tab + c dalam shell zsh, maka ia akan mencari mana-mana nama fail atau folder bermula dengan 'C 'Dan ia akan menunjukkan nama fail atau folder yang pertama dijumpai.





% CDc

Contohnya, jika kodnya folder dijumpai dan ia akan dipaparkan. Sekiranya anda menaip lagi ‘/ P’ maka ia akan menunjukkan fail dan nama folder bermula dengan ‘ hlm '.

% CDhlm



Pembetulan Ejaan

Pemeriksa ejaan adalah ciri yang sangat berguna untuk cengkerang mana pun. Pengguna dapat dengan mudah membetulkan kesalahan menaip dengan ciri ini. Ciri ini disokong oleh kedua-duanya Pukulan dan Zsh. Tetapi pembetulan ejaan dapat dilakukan dengan lebih berkesan dalam Zsh tempurung. Penggunaan ciri ini ditunjukkan untuk kedua-dua cengkerang di bawah.

Pukulan

Katakan, anda mahu pergi ke direktori ' Muzik 'Tetapi anda telah menaip' Mugik ’ secara tidak sengaja, bash shell tidak akan mengesan kesalahan ejaan secara lalai dan akan menunjukkan mesej ralat: Tiada fail atau direktori tersebut .

$CDMugik

Anda harus mengaktifkan pemeriksa ejaan untuk membetulkan masalah seperti ini. Buka ~ / .bashrc failkan di mana-mana editor untuk menambah baris untuk membolehkan pemeriksa ejaan. Di sini, nano editor digunakan untuk menyunting fail.

$nano~/.bashrc

Tambahkan baris berikut di akhir fail, simpan dan tutup fail.

kedai -scdspell

Sekarang, jalankan arahan berikut untuk mengesahkan perubahan secara kekal.

$sumber~/.bashrc

Sekiranya anda menjalankan perkara di atas ' CD ' perintah dengan kesalahan ejaan dari terminal, maka secara automatik akan membetulkan nama folder.

$CDMugik

Zsh

Pemeriksa ejaan tidak diaktifkan secara lalai dalam shell zsh juga. Oleh itu, jika anda menjalankan perintah ‘echo’ seperti arahan berikut dengan kesalahan ejaan maka ia akan menunjukkan mesej kesalahan.

%ehco'Hai dunia'

Buka ~ / .zshrc failkan di mana-mana editor dan tambahkan baris berikut di akhir fail. Baris pertama akan membolehkan pemeriksa ejaan di Zsh. Nilai pilihan lalai pemeriksa ejaan adalah, [nyae] yang menunjukkan tidak, ya, batalkan dan edit . Baris kedua akan mengubah nilai lalai untuk menjadikan pilihan lebih mudah difahami oleh pengguna. Di sini, nano editor digunakan untuk menyunting fail.

% nano~/.zshrc
setopt betul
eksport SPROMPT='Betul% R hingga% r? [Ya, Tidak, Batalkan, Edit] '

Simpan dan keluar fail dan jalankan arahan berikut untuk mengemas kini perubahan.

% sumber~/.zshrc

Sekali lagi jalankan arahan sebelumnya dan periksa outputnya. Sekarang, pengguna akan mendapat pilihan untuk membetulkan output. Sekiranya anda menaip y maka ejaan akan diperbetulkan secara automatik.

%ehco'Hai dunia'

Sekiranya anda ingin menjadikan output lebih berkesan dengan menggunakan warna maka jalankan arahan berikut dari zsh shell untuk mengaktifkan warnanya.

%memuatkan warna U secara automatik&&warna

Selepas itu, tambahkan baris berikut di ~ / .zshrc fail seperti sebelumnya.

eksport SPROMPT='Betul$ fg[merah]% R$ reset_warnake$ fg[hijau]% r$ reset_warna?
[Ya, Tidak, Batalkan, Edit] '

Sekarang, jalankan sebarang arahan dengan kesalahan ejaan dan periksa outputnya. Di sini, perkataan kesalahan akan dipaparkan dengan warna merah dan perkataan yang betul akan ditunjukkan dengan warna hijau.

%ehco'Hai dunia'

Menggunakan tema

Rupa shell shell dapat diubah dengan menggunakan tema dan plugin yang berbeza. Kedua-dua shell bash dan zsh mempunyai banyak jenis tema untuk mengubah rupa shell. Bagaimana tema boleh digunakan dalam bash dan zsh shell ditunjukkan di bahagian seterusnya artikel ini.

Pukulan

Anda mesti memasang git untuk memasang tema bash. Jalankan arahan berikut untuk memasang pakej git.

$sudo pasang-dapatkan pergi

Selepas memasang pergi , jalankan arahan berikut untuk membuat klon dari Tewas templat.

$klon git - kedalaman=1https://github.com/Tewas/bash-it.git ~/.bash_it

Jalankan arahan berikut untuk memasang Tewas templat setelah mengklonnya. Tekan ‘ dan Ketika ia akan meminta untuk menyimpan cadangan ~ / .bash_profile atau ~ / .bashrc dan tambahkan bash-it templat di hujung fail.

Output berikut akan muncul setelah menyelesaikan proses pemasangan.

Sekarang, jika anda membuka ~ / .bashrc fail dengan menggunakan penyunting apa pun fail akan mengandungi kandungan berikut. ‘Bobby’ ditetapkan sebagai tema lalai untuk templat bash-it.

Jalankan arahan berikut untuk mengesahkan kemas kini shell.

$sumber~/.bashrc

Petunjuk berikut akan muncul di terminal setelah memasang templat dengan betul. Sekarang, tutup terminal. Anda akan melihat prompt bash yang sama setiap kali anda membuka terminal.

Banyak tema yang tersedia untuk bash-it templat paparan bash prompt dengan cara yang berbeza. Salah satunya ialah ‘ iri ’ tema. Sekiranya anda ingin menetapkan tema ini, buka fail ~ / .bashrc dengan menggunakan mana-mana editor dan ubah ' BASH_IT_THEME 'Nilai kepada' dengki '.

Sekali lagi, jalankan ‘ sumber Perintah untuk mengesahkan kemas kini secara kekal. Output berikut akan muncul setelah menetapkan tema ‘iri’.

Zsh

Seperti bash, shell zsh mempunyai banyak tema. Salah satu tema zsh adalah oh-saya-zsh . Jalankan arahan berikut untuk memasang tema ini untuk shell zsh.

% sh -c '$ (curl -fsSL
https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh) '

Selepas memasang tema, tekan ‘ dan ' untuk menjadikan shell lalai ke zsh.

Ia akan meminta kata laluan root untuk menyelesaikan proses pemasangan. Output berikut akan muncul setelah menyelesaikan proses pemasangan.

Sekarang, jika anda membuka fail ~ / .zshrc maka anda akan melihat entri untuk oh-saya-zsh templat. ‘Robbyrussell’ ditetapkan sebagai tema lalai untuk templat.

Untuk mengekalkan perubahan secara kekal, anda harus menjalankan perintah 'sumber'.

% sumber~/.zshrc

Sekiranya anda mahu menukar tema menjadi ‘ anak panah 'Kemudian buka fail ~ / .zshrc di mana-mana editor dan ubah nilai' ZSH_THEME Ke ‘Anak panah '.

Anda harus menjalankan perintah ‘source’ sekali lagi untuk mengemas kini perubahan secara kekal untuk shell zsh. Simbol anak panah berikut akan muncul setelah menetapkan tema ini.

% sumber~/.zshrc

Sekiranya anda menutup terminal dan sekali lagi membuka shell zsh maka output berikut akan muncul.

Menggunakan Perluasan Wildcard

Perluasan wildcard dapat digunakan dalam bash dengan cara yang berbeza tanpa pengaturan. Tetapi pengembangan wildcard tidak diaktifkan dalam shell zsh secara lalai. Bagaimana pengembangan wildcard dapat digunakan dalam bash dan zsh ditunjukkan di bahagian artikel ini.

Pukulan

Andaikan, anda harus mengetahui semua fail dengan pelanjutan ‘log’ dari lokasi semasa menggunakan perintah ‘echo’. Di sini, nilai, ' * .log ’ diberikan kepada pemboleh ubah, fail yang digunakan dalam perintah ‘echo’ untuk memaparkan senarai semua fail log.

$ls
$fail='* .log'
$membuang fail $

Zsh

Sekiranya anda menjalankan perintah di atas dalam shell zsh maka nilai $ file akan dicetak dan bukannya senarai fail log kerana pengembangan wildcard tidak diaktifkan secara lalai untuk shell zsh.

% ls
% fail='* .log'
% membuang fail $

Jalankan arahan berikut untuk mengaktifkan pengembangan wildcard untuk zsh.

% set -atauGLOB_SUBST

Sekarang, jika anda menjalankan perintah sebelumnya, senarai fail log akan dipaparkan.

Kesimpulannya

Bash dan Zsh adalah shell yang sangat berguna untuk pengguna Linux. Kedua-dua cengkerang mempunyai beberapa ciri berguna. Pengguna dapat memilih shell berdasarkan tugas yang diperlukan. Beberapa perbezaan penting antara kedua cangkang ini dijelaskan dalam artikel ini dengan menggunakan contoh yang tepat. Harap, perbezaan antara kedua cengkerang ini akan dibersihkan untuk para pembaca setelah membaca artikel ini