Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình Bash

Zsh vs Bash: Shell nào tốt hơn?

Bash và Zsh là hai shell Linux phổ biến. Hướng dẫn này khám phá ưu nhược điểm để giúp bạn chọn shell phù hợp.

Shell là gì?

Shell là giao diện dòng lệnh bạn dùng để tương tác với máy tính.

Nó cung cấp input/output text cho phép bạn đưa ra chỉ thị và nhận thông tin từ hệ thống.

Shell cũng bao gồm tiện ích khác, như scripting tự động hóa tác vụ và công cụ dễ dùng như autocomplete để điều hướng filesystem nhanh hơn.

Bash và Zsh đều là Shell. Chúng gọi là 'shell' vì nằm bên ngoài core của hệ điều hành, kernel.

BASH là gì?

Bash (viết tắt "Bourne Again SHell") phát hành cuối thập niên 1980 thay thế Bourne Shell năm 1970.

Bourne shell thay thế Thompson shell, shell Unix đầu tiên năm 1971.

Bash mục tiêu cung cấp shell hoàn toàn miễn phí, tương thích script shell hiện có. Nhanh chóng phổ biến làm shell mặc định trên Linux, sau đó trên Apple OS X.

Điểm nổi bật Bash:

  • Tự động hoàn thành dòng lệnh (Tab để điền đường dẫn file thay vì gõ tay)
  • Tính toán không cần phần mềm ngoài
  • Chuyển hướng output lệnh dễ dàng
  • Dùng regular expression trong lệnh
  • Chạy script khởi động để tùy chỉnh môi trường

ZSH là gì?

Zsh (“Z Shell”) là phiên bản mở rộng của Bourne shell, với nhiều cải tiến và tính năng từ Bash.

Zsh hỗ trợ plugin và theme, nhiều tính năng mở rộng được coi là cải tiến lớn so với Bash.

Dấu hiệu rõ ràng nhất cho sự phổ biến của Zsh – Apple đặt làm mặc định trong macOS, quyết định chắc chắn không nhẹ dạ.

Cải tiến nổi bật của Zsh so với Bash:

  • Plugin và theme!
    • Tùy chỉnh Zsh sâu với overlay, màu sắc – điều chỉnh shell cung cấp thông tin quan trọng nhất
    • oh my zsh! framework plugin cho Zsh làm việc với lượng lớn plugin cho mọi thứ
  • Lệnh điều hướng filesystem cải tiến – chỉ gõ tên thư mục hoặc chữ cái đầu mỗi thư mục trong đường dẫn dài, Zsh tự điền với dự đoán tốt nhất
    • Cũng tự điều hướng đến thư mục khớp gần nhất nếu gõ sai đường dẫn – khá thông minh
  • Hỗ trợ số thực (floating-point)!
  • Lệnh zmv làm việc với lượng file lớn dễ dàng.
  • Đặc tả file không cần phần mềm ngoài
  • Thư mục đặt tên – setup shortcut như ~webdir thay vì gõ đường dẫn web directory hay tạo soft link

ZSH vs. BASH

Về Script thì sao?

Do phổ biến lâu dài của Bash, script shell thường gọi chung là Bash Scripts.

Script viết cho shell này không chắc chạy trên shell khác – may mắn Zsh chạy được hầu hết script Bash hiện có ít sửa đổi – nhưng bạn có thể muốn cập nhật để dùng tính năng cải tiến của Zsh.

Nếu tiếp tục dùng script Bash, hãy đảm bảo dòng:

#!/bin/bash

…ở đầu script viết cho Bash – để hệ thống biết chạy bằng Bash, даже khi shell mặc định là Zsh.

Nên dùng cái nào?

Nếu môi trường làm việc tham khảo script/ví dụ viết cho Bash, hãy dùng Bash. Nếu mở đường mới, muốn tính năng thêm của Zsh và sẵn sàng chỉnh code script cho shell mới, dùng Zsh.

Xem thêm mẹo Linux tại link này!