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

Chọn Shell Linux phù hợp:Bash, Zsh và Fish – Giải thích về tính năng và lợi ích

Chọn Shell Linux phù hợp:Bash, Zsh và Fish – Giải thích về tính năng và lợi ích

Khi bạn mở terminal của mình, rất có thể nó sử dụng Bash làm môi trường shell UNIX. Nhưng vẫn tồn tại những môi trường "vỏ" khác.

Có các môi trường khác như C Shell, Korn Shell, Z Shell và thậm chí cả Fish Shell. Tất cả các môi trường shell khác nhau này đều có ưu và nhược điểm riêng và bạn nên cân nhắc chúng trước khi chọn một môi trường để sử dụng trên hệ thống của riêng mình.

Trong bài viết này, tôi sẽ điểm qua một số shell phổ biến cùng với các tính năng chính của chúng để giúp bạn chọn một shell.

Vỏ Bash

Bash Shell (hoặc Bourne Again Shell) là ngôn ngữ lệnh và shell UNIX. Nó được Brain Fox viết cho Dự án GNU như một phần mềm thay thế miễn phí cho Bourne Shell (sh).

Bash được phát hành lần đầu tiên vào năm 1989 và đối với hầu hết các bản phân phối Linux, đó là môi trường Shell mặc định. Các bản phân phối khác, như Kali Linux, sử dụng Z Shell làm shell mặc định.

Bash là một trong những chương trình đầu tiên được Linus Torvalds (người tạo ra Linux) chuyển sang Linux.

Chọn Shell Linux phù hợp:Bash, Zsh và Fish – Giải thích về tính năng và lợi ích Nguồn hình ảnh

Một điều bạn không nên nhầm lẫn là Bash cũng là một ngôn ngữ lập trình. Vì vậy, nó là "Shell", nhưng bạn cũng có thể lập trình hành vi trong Bash. Ví dụ:

#!/bin/bash
echo "Hello World"

Những điểm chính về Bash

  • Hầu hết người dùng sử dụng Bash vì đây là môi trường shell mặc định trên hầu hết các hệ thống
  • Bash không có biểu thức ký tự đại diện nội tuyến. Biểu thức ký tự đại diện là khi bạn muốn tìm kiếm các mẫu trong Shell của mình, tương tự như Regex. Ba ký tự đại diện chính là * , ? , và [] .
  • Bạn không thể tự động thay đổi tên thư mục
  • # được coi như một nhận xét trong tập lệnh
  • Nó có shopt cài đặt
  • Dấu nhắc có dấu gạch chéo ngược thoát
  • Cài đặt cấu hình người dùng ở .bashrc

Vỏ Z

Z Shell hay Zsh cũng là một shell UNIX rất giống với Bash. Bạn cũng có thể viết kịch bản và sử dụng shell làm trình thông dịch lệnh.

Zsh là phần mở rộng của Bourne shell với rất nhiều cải tiến. Zsh được phát hành vào năm 1990 bởi Paul Falstad và nó có một số tính năng mà Bash, Korn Shell và C Shell chia sẻ.

macOS theo mặc định sử dụng Zsh Shell.

Chọn Shell Linux phù hợp:Bash, Zsh và Fish – Giải thích về tính năng và lợi ích Nguồn hình ảnh

Những điểm chính về Zsh

  • Đi kèm với tính năng tự động hoàn thành khi sử dụng thiết bị đầu cuối. Vì vậy khi bạn nhấn Tab ↹ để tự động hoàn thành bất kỳ lệnh nào bạn muốn chạy, nó không chỉ tự động hoàn thành cho bạn mà còn đưa xuống danh sách thả xuống tất cả các tệp và thư mục có thể có khác:

Chọn Shell Linux phù hợp:Bash, Zsh và Fish – Giải thích về tính năng và lợi ích

  • Hỗ trợ các biểu thức ký tự đại diện nội tuyến
  • Có thể cấu hình nhiều hơn Bash
  • Hỗ trợ plugin và chủ đề. Đây là danh sách các plugin có sẵn cho Zsh.

Ngoài ra còn có các khung được xây dựng xung quanh Z Shell. Một trong những cái phổ biến nhất là Oh My Zsh, một khung công tác nguồn mở, do cộng đồng điều khiển để quản lý cấu hình Zsh. (Tôi sử dụng Oh My Zsh 😄)

Chọn Shell Linux phù hợp:Bash, Zsh và Fish – Giải thích về tính năng và lợi ích Nguồn hình ảnh

Zsh và Oh My Zsh tương tự nhau nhưng không hoàn toàn giống nhau. Xin nhắc lại, Oh My Zsh là một cách quản lý cấu hình Zsh của bạn, bản thân nó không phải là Shell.

Vỏ cá

Fish là môi trường shell UNIX tập trung vào tính tương tác và khả năng sử dụng. Không giống như Zsh, Fish nhằm mục đích cung cấp cho người dùng khả năng tương tác theo mặc định thay vì tin tưởng người dùng thực hiện cấu hình của riêng họ.

Nó được tạo ra bởi Axel Liljencrantz vào năm 2005. Cá được coi là một "vỏ kỳ lạ" do nó không tuân thủ các tiêu chuẩn về vỏ POSIX. [[Nguồn](https://en.wikipedia.org/wiki/Fish_(Unix_shell)]

Chọn Shell Linux phù hợp:Bash, Zsh và Fish – Giải thích về tính năng và lợi ích Nguồn hình ảnh

Những điểm chính về Cá

  • Fish có các đề xuất tự động "tìm kiếm khi bạn nhập" dựa trên lịch sử lệnh của bạn và thư mục bạn đang ở. Tương tự như tìm kiếm lịch sử của Bash, lịch sử tìm kiếm của Fish Shell luôn luôn đã bật. Bằng cách đó, người dùng sẽ có thể nhận được phản hồi tương tác khi làm việc trên thiết bị đầu cuối của họ.

Chọn Shell Linux phù hợp:Bash, Zsh và Fish – Giải thích về tính năng và lợi ích Nguồn hình ảnh

  • Fish cũng thích các tính năng dưới dạng lệnh hơn là cú pháp. Điều này làm cho các tính năng hiển thị dưới dạng lệnh với các tùy chọn và văn bản trợ giúp
  • Vì Fish theo mặc định có rất nhiều cấu hình đã được thiết lập sẵn nên nó được cho là thân thiện với người mới bắt đầu hơn các sh khác các tùy chọn như Zsh.
  • Ngôn ngữ kịch bản của Fish khác với Zsh và Bash. Zsh sử dụng nhiều bí danh hơn trong khi Fish tránh sử dụng bí danh trong ngôn ngữ tập lệnh.

Nếu bạn chỉ tạo tập lệnh bằng các lệnh cơ bản như cd , cp , vim , ssh , v.v., bạn sẽ không nhận thấy bất kỳ sự khác biệt nào trong cách hoạt động của ngôn ngữ kịch bản của Fish và Bash.

Một trong những khác biệt lớn nhất là khi bạn thử thu thập đầu ra từ một lệnh. Trong Bash bạn có thể quen với điều này:

todays_date=$(date)
echo "Todays date is $todays_date"

Chọn Shell Linux phù hợp:Bash, Zsh và Fish – Giải thích về tính năng và lợi ích

Todays Date is Tue Dec 13 15:29:28 CST 2022

Trong khi đó ở Fish, việc bắt được đầu ra lại hoạt động khác. Tương đương với Fish trong kịch bản sẽ trông như thế này:

set date (date)
echo "Todays Date $date"

Chọn Shell Linux phù hợp:Bash, Zsh và Fish – Giải thích về tính năng và lợi ích

todays date is Tue Dec 13 21:35:03 UTC 2022

Kết luận

Bash, Z Shell và Fish Shell đều có những ưu điểm riêng cùng với một số điểm tương đồng. Bạn có thể sử dụng chúng một cách hiệu quả trong môi trường làm việc của mình khi bạn biết thêm một chút về chúng.

Nếu bạn muốn thứ gì đó có cấu hình cao hơn, bạn có thể sử dụng Zsh (hoặc thậm chí cài đặt Oh My Zsh). Nếu bạn muốn có thêm trải nghiệm thiết bị đầu cuối tương tác mà không cần cấu hình nhiều, bạn có thể sử dụng Fish Shell. Nếu bạn muốn có cảm giác cổ điển, bạn có thể giữ Bash.

Tất cả thực sự phụ thuộc vào sở thích của bạn với tư cách là nhà phát triển - vì vậy chỉ cần chọn shell phù hợp nhất với bạn.

Hy vọng điều này đã giúp ích cho bạn! Cảm ơn bạn đã đọc 🐚🐚🐚

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu