Monday, 31 December 2012

zsh và bash

zsh là gì ?
nôm na thì nếu bạn biết bash là gì thì zsh cũng gần giống thế nhưng 'xịn' hơn ^^

hvn@lappy: ~ $ apt-cache show zsh
...

 Zsh is a UNIX command interpreter (shell) usable as an
 interactive login shell and as a shell script command
 processor. Of the standard shells, zsh most closely resembles
 ksh but includes many enhancements. Zsh has command-line editing,
 built-in spelling correction, programmable command completion,
 shell functions (with autoloading), a history mechanism, and a
 host of other features.

từ trang chủ của zsh:

Zsh is a shell designed for interactive use, although it is also a powerful scripting language. Many of the useful features of bash, ksh, and tcsh were incorporated into zsh; many original features were added. The introductory document details some of the unique features of zsh.

bash là gì?
hvn@lappy: ~ $ apt-cache show bash
...
Description-en: GNU Bourne Again SHell
 Bash is an sh-compatible command language interpreter that executes
 commands read from the standard input or from a file.  Bash also
 incorporates useful features from the Korn and C shells (ksh and csh).
 .
 Bash is ultimately intended to be a conformant implementation of the
 IEEE POSIX Shell and Tools specification (IEEE Working Group 1003.2).
 .
 The Programmable Completion Code, by Ian Macdonald, is now found in
 the bash-completion package.

Cài đặt và sử dụng zsh:
Chỉ với 1 phút cài đặt, bạn đã có zsh và hệ thống config tuyệt vời, màu mè `ohmyzsh`:

sudo apt-get install zsh
curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh

logout rồi login lại hoặc gõ vào terminal zsh để thấy kết quả luôn (chi tiết cài đặt  xem thêm ở trang github của ohmyzsh). Sau khi login lại, mở terminal lên mà vẫn chưa thấy thay đổi gì, bạn sẽ phải đổi default shell của user mình đang dùng bằng lệnh:
hvn@lappy: ~ $ chsh -s $(which zsh) hvn
Tính năng dễ thấy nhất của zsh là khả năng autocomplete mọi thứ có thể, cứ tab tẹt ga đi :D 

ảnh chụp GNOME Terminal sử dụng zsh


để tùy chỉnh zsh, hãy thay đổi nội dung file ~/.zshrc


zsh hay bash?
mỗi khi bạn tự hỏi câu này, câu trả lời tốt nhất thường sẽ là : cả 2. Hãy tự mình trải nghiệm, cho đến khi tự bạn biết điểm mạnh, điểm yếu của từng cái.

- zsh phát triển các tính năng mà bash còn thiếu hay chưa tốt. Bởi vậy, nói zsh 'ngon' hơn bash không có gì là sai cả.
- bash đã quá phổ biến, ít nhất, 1 điểm mà bash hơn zsh là nó cài sẵn ở hầu hết mọi Unix-like OS.

Lựa chọn của người viết bài?
đã, đang và sẽ tiếp tục dùng bash, bởi nó có 1 điều mà zsh không thể vượt qua: bash "ở khắp mọi nơi". Cú pháp script của bash và zsh không khác nhau nhiều. Nếu đã biết bash thì học zsh không có gì khó cả. Trên các máy tính cá nhân đã cài zsh và sẵn sàng một cuộc phiêu lưu mới :D
_____
SEO: bash hay zsh, chọn shell linux, shell là gì, bash là gì, zsh là gì, bash là gi, zsh la gi, chon shell