Logo

Personal Ops Runbook

Personal runbook covering infrastructure operations for Cloud, Kubernetes, OpenStack, and Ceph environments. Includes deployment and teardown procedures, node management, cluster monitoring setup, and incident response workflows compiled from day-to-day operational work. Intended strictly for personal reference — configurations and scripts are environment-specific and not guaranteed to work as-is elsewhere.

[Bash] Lesson 33 – Zsh và Bash


Zsh shell là một trong những shell phổ biến nhất. Nó còn được gọi là “Z shell”. Mặc dù cả bash shell và Zsh shell đều được biết đến là những shell mạnh mẽ, tuy nhiên chúng cũng có những yêu cầu tương ứng với sở thích mà người dùng có thể có.

image

Vì cả hai shell đều đang trong quá trình phát triển tích cực, nên không nên quá cụ thể ở đây. Một số điểm khác biệt quan trọng giữa Zsh và Bash được liệt kê dưới đây:

Tính năng Zsh Bash
Tab-completion Có tính năng tìm kiếm thông minh, hoạt động nhanh hơn và hỗ trợ không phân biệt chữ hoa/thường Thiếu một số tính năng tìm kiếm so với Zsh và không nhanh như Zsh
Được cài đặt sẵn Không được cài đặt sẵn trên hầu hết các máy Linux/UNIX Bash là một shell được tích hợp sẵn trên hầu hết các máy Linux/UNIX, vì vậy nó có thể di động trên các hệ thống khác nhau
Recursive path expansion Hỗ trợ mở rộng đường dẫn đệ quy, có nghĩa là nếu chỉ có một đường dẫn (giả sử: /usr/local/bin), thì chúng ta có thể nhập “cd /u/l/b” và nhấn nút tab để truy cập đường dẫn đó. Bash không cung cấp hỗ trợ cho mở rộng đường dẫn đệ quy. Tuy nhiên, có một số cách thay thế như sử dụng vim hoặc hoàn thành lệnh (compgen -c).
Spelling correction Có tính năng sửa chính tả và hoàn thành xấp xỉ cho những lỗi chính tả trong tên thư mục hoặc tên lệnh Bash không hỗ trợ tính năng sửa chính tả và hoàn thành mặc định
Plugin frameworks và themes Hỗ trợ cho nhiều khung chương trình plugin và themes Bash hỗ trợ hạn chế cho các khung chương trình plugin và themes
Lệnh “which” Trong Zsh, lệnh “which” sẽ hiển thị định nghĩa của một bí danh (alias), nguồn của một hàm (function) và vị trí của một lệnh Trong Bash, lệnh “which” chỉ hiển thị vị trí của một lệnh

Và đây chính là cách chúng ta có thể phân biệt Zsh và Bash.