Bash, hoặc Bourne Again Shell, là những gì được cài đặt sẵn trên hầu hết các bản phân phối Linux. Tuy nhiên, nó không phải là vỏ duy nhất trên mạng. Có nhiều cách khác để thử. Dưới đây là sáu vỏ thay thế có thể thay thế bash. Mỗi người trong số họ có ưu và khuyết điểm của nó, vì vậy bạn phải thử chúng ra và xem đó là tốt nhất cho bạn.

1. sh (hoặc Bourne Shell)

Vỏ Bourne, được đặt tên theo người tạo ra nó là Stephen Bourne, là một trong những hệ vỏ đầu tiên. Bạn có thể nói nó được sử dụng làm cơ sở mà Bash được tạo ra. Đôi khi người dùng nhầm lẫn cả hai và nghĩ rằng họ giống nhau trong khi họ không. Đúng là nhiều kịch bản .sh cũng sẽ chạy trên Bash, bởi vì Bash bao gồm rất nhiều từ Sh, nhưng ngược lại không đúng.

Bạn có thể nghĩ Sh là tiền thân của Bash. Nó không có nhiều tính năng, nhưng nó được tiêu chuẩn hóa nhiều hơn Bash.

2. Dấu gạch ngang

Dấu gạch ngang cơ bản là Bash trên hệ thống Debian. Nếu bạn đang chạy bản phân phối dựa trên Debian, rất có thể bạn đang chạy Dash, không phải Bash. Tuy nhiên, do sự phức tạp của việc sử dụng Dash làm trình bao mặc định, Ubuntu (bản phân phối dựa trên Debian) đã quyết định sử dụng Bash cho các tập lệnh tương tác, chứ không phải Dash làm vỏ mặc định.

Dash thiếu nhiều tính năng của Bash, chẳng hạn như hoàn thành tab và lịch sử lệnh, nhưng nó nhanh hơn và nhỏ hơn nhiều (100K so với 900K), đó là một yếu tố nếu bạn đang chạy nó trên một máy tính không mạnh.

3. csh (hoặc C Shell)

Các ngôn ngữ lập trình C và C ++ khá phổ biến và phần lớn bản thân Linux được viết trong đó. Đây là lý do tại sao nó không ngạc nhiên khi có một trình bao - C Shell hoặc Csh - sử dụng mô hình cú pháp C. Nếu bạn thông thạo C, vỏ này sẽ là tự nhiên đối với bạn.

Tuy nhiên, vỏ Csh có khá nhiều lỗi và không có nhiều tính năng. Đây là lý do tại sao vỏ Tcsh đến hiện trường. Tcsh cố định hầu hết các lỗi và thêm các tính năng mới, chẳng hạn như hoàn thành lệnh, kiểm soát công việc, sửa lỗi chính tả, v.v. Thật không may, Tcsh và Bash rất khác, có nghĩa là bạn không thể chạy các tập lệnh Bash trong Tcsh và ngược lại.

4. ksh (hoặc Korn Shell)

Ksh, hoặc vỏ Korn (được đặt tên theo người tạo ra nó là David Korn), được giới thiệu cùng lúc với Tcsh, nhưng không giống như Tcsh, nó tương thích với Sh và Bash. Đó là một vỏ độc quyền AT & T cho đến năm 2000, và đây là lý do tại sao nó không trở nên phổ biến. Ksh bổ sung thêm nhiều tính năng cho Sh, chẳng hạn như số học dấu chấm động, kiểm soát công việc, bí danh lệnh và hoàn thành lệnh.

5. zsh (hoặc Z Shell)

Các vỏ được liệt kê cho đến nay đã được tạo ra chủ yếu vào năm 1970. Máy tính đã đi một chặng đường dài kể từ đó, và điều này đòi hỏi vỏ mới, quá. Một trong những vỏ mới phổ biến là vỏ Z, hoặc Zsh. Nó được tạo ra bởi Paul Falstad vào năm 1990.

Nó có các tính năng của Bash và một số thứ khác, chẳng hạn như các tệp khởi động, đăng nhập / đăng xuất, và các tính năng lập trình dựng sẵn như bytecode, hỗ trợ ký hiệu khoa học theo cú pháp, số học dấu chấm động, đóng góp ý kiến, khái niệm, biến, hàm, và chỉ mục chính. Nếu bạn đang tìm kiếm một trình bao cao cấp hơn, hãy thử vỏ Z.

6. Cá

Nhiệm vụ cho vỏ hiện đại hơn không kết thúc với cá. Thế kỷ mới đã nhìn thấy những vỏ mới, như Fish (hoặc Friendly Interactive Shell). Nó được phát hành vào năm 2005 và không dựa trên vỏ Sh. Khía cạnh phân biệt nhất của nó là nó có một cú pháp dòng lệnh duy nhất được thiết kế để thân thiện với người mới bắt đầu hơn. Nó cũng có một số tính năng thú vị, chẳng hạn như gợi ý tự động, lựa chọn với các phím mũi tên, được hỗ trợ bởi clipboard X, 256 màu thiết bị đầu cuối, v.v.

Nhược điểm chính của Fish là nó rất khác với Bash và các shell khác của Bourne. Kết quả là, bạn không thể chuyển mã (và kiến ​​thức) từ Cá sang Bash và Sh.

Vậy vỏ nào là tốt nhất? Thật không may, câu hỏi này không thể được trả lời. Tất cả đều có những ưu điểm và nhược điểm của nó, và nó thực sự phụ thuộc vào những gì bạn cần nó cho. Nhưng bây giờ bạn đã biết những ưu điểm và khuyết điểm của mỗi trong số sáu shell thay thế này, nó sẽ dễ dàng hơn cho bạn để quyết định trong tình huống nào mà bạn nên sử dụng. Mặc dù sau khi tất cả, thành thật mà nói, sự lựa chọn này phần lớn là một vấn đề sở thích cá nhân - bản thân tôi dính vào Bash, và tôi ổn với nó. Bash là trình bao mặc định vì lý do bạn biết!