Trong Unix và Linux có một số "shell". Shell đề cập đến một chương trình người dùng đặc biệt cung cấp cho người dùng giao diện để sử dụng các dịch vụ HĐH.
Hai trong số các shell nổi tiếng là KSH và Bash. Đây là những lớp vỏ của lĩnh vực lập trình máy tính. Hai cái này có các bộ tính năng và lệnh riêng biệt. Cả hai vỏ này có liên quan với nhau.
Các nội dung chính
- KSH (KornShell) là lớp vỏ cũ hơn, trong khi BASH (Bourne-Again SHell) là lớp vỏ mới hơn với các tính năng bổ sung.
- BASH là trình bao mặc định cho hầu hết các bản phân phối Linux, trong khi KSH phổ biến hơn trong các hệ thống Unix.
- BASH tương thích với các tập lệnh KSH nhưng không hỗ trợ tất cả các tính năng của BASH.
KSH so với Bash
KSH là trình thông dịch lệnh và ngôn ngữ lập trình tương thích với POSIX. Bash là phiên bản nâng cao của shell Bourne được phát triển bởi Steve Bourne vào những năm 1970 và hiện là shell mặc định trong hầu hết các bản phân phối Linux. Nó hỗ trợ nhiều tính năng của shell Korn và có các tính năng bổ sung.

KSH đề cập đến Unix shell được phát triển bởi David Korn vào đầu những năm 1980. Nó được phát triển lấy cảm hứng từ yêu cầu của người dùng Bell Lab và nó chứa một số tính năng của trình bao C.
KSH cũng tương thích ngược. Có năm phiên bản của KSH- PDKSH, KSH, MKSH, KSH93 và KSH88.
Mặt khác, Bash đề cập đến bản sao của vỏ Bourne. Nó được phát triển bởi FSF (Tổ chức phần mềm miễn phí) và được cấp phép và viết theo Giấy phép Công cộng Chung (GPL).
Shell Bash được KSH phát triển nhiều năm sau đó, vì vậy đây là shell mới hơn có một số tài nguyên mới so với KSH.
Bảng so sánh
Các thông số so sánh | KSH | Cú đánh |
---|---|---|
HIỆU QUẢ | Khi xử lý việc thực thi các lệnh và tập lệnh, KSH cho hiệu suất tốt hơn nhiều so với Bash. | Khi xử lý việc thực thi các lệnh và tập lệnh, hiệu suất của Bash là khá. |
Các tính năng lập trình | KSH cung cấp các tính năng lập trình vượt trội và nhiều hơn so với Bash. | Các tính năng lập trình của Bash kém hơn so với KSH. Tuy nhiên, Bash cũng có rất nhiều tính năng lập trình. |
Lệnh | KSH sử dụng lệnh in để in kết quả đầu ra, lệnh này tốt hơn lệnh Bash. | Bash sử dụng lệnh echo để in kết quả. |
Trung Tâm Tài Liệu | KSH được phát triển sớm hơn Bash, vì vậy có ít tài nguyên trong KSH so với Bash. | Bash là một shell mới và kết quả là nó có nhiều tài nguyên và phổ biến hơn so với KSH. |
Kịch bản | Vì có cú pháp cũ hơn, các tập lệnh của KSH khó đọc hơn. | Để có một cú pháp mới hơn, các tập lệnh của Bash có thể đọc được và dễ hiểu. |
KSH là gì?
KSH hay Korn shell đề cập đến UNIX shell được phát triển bởi Sir David Korn vào đầu những năm 1980. KSH đã được phát triển từ nhiều năm trước, trước khi tạo ra Bash.
Vì nó đã được phát triển từ nhiều năm trước nên nó có ít tài nguyên hơn so với Bash. Kết quả là hiện nay rất ít người sử dụng KSH.
Nó được phát triển như một phiên bản toàn diện kết hợp của các shell UNIX quan trọng khác. Nó kết hợp mọi tính năng của Tab C-shell và C shell và các tính năng ngôn ngữ script của Bourne shell.
Vỏ Bourne sau đó được coi là loại vỏ tốt nhất về hiệu quả. Các hệ vỏ Unix phổ biến nhất là vỏ C, vỏ Bourne và vỏ Korn.
KSH là một thành viên của gia đình Bourne shell và rất dễ sử dụng. Do đó, người dùng thiếu kinh nghiệm thích KSH hơn.
Lệnh 'r history' của KSH rất tốt vì nó cho phép người dùng quay lại các lệnh cũ rất nhanh. Lệnh in của KSH trong khi in đầu ra rất hiệu quả.
KSH cũng cung cấp các tính năng lập trình vượt trội.
Kích thước nhị phân của trình thông dịch KSH là 1.6 MB. Vì có cú pháp cũ hơn, các tập lệnh của KSH khó đọc hơn. KSH cũng có một số mảng kết hợp và nó có thể dễ dàng xử lý cú pháp vòng lặp một cách hiệu quả.
Bash là gì?
Bash hoặc Bourne Again Shell là phiên bản nâng cấp của chương trình Bourne Shell có tên 'sh' được viết bởi Brian Fox.
Nó được phát triển bởi FSF (Tổ chức phần mềm miễn phí) và được cấp phép và viết theo Giấy phép Công cộng Chung (GPL).
Bash đã cải thiện nhiều tính năng của Bourne Shell cho cả mục đích sử dụng tương tác và lập trình. Nó bao gồm các tính năng như lịch sử lệnh, chỉnh sửa dòng lệnh, liên kết phím, v.v.
Đối với hệ điều hành Mac của Apple và hầu hết Linux Bash hoạt động như trình bao đăng nhập mặc định. Nó cũng có thể được truy cập từ Windows 10. Trong nhiều chế độ Linux, nó hiện là trình bao mặc định.
Bash đề cập đến trình thông dịch dòng lệnh, chạy trong cửa sổ văn bản. Người dùng giải thích các lệnh để thực hiện một số hành động.
Tập hợp các lệnh khác nhau này được gọi là Shell Script (dưới dạng một chuỗi trong một tệp). Bash đọc các lệnh đó từ Shell Script và thực thi chúng để tiến hành một số hành động.
So với KSH, Bash phổ biến hơn, gần đây hơn và cũng có nhiều tài nguyên hơn khi nó được phát triển gần đây. Do đó, nó giúp bạn dễ dàng học cách sử dụng Bash.
Hai ưu điểm quan trọng nhất của Bash là phương pháp đơn giản của cài đặt lời nhắc để hiển thị thư mục hiện tại và hoàn thành tab.
Sự khác biệt chính giữa KSH và Bash
- Mặt khác, khi xử lý việc thực thi các lệnh và tập lệnh, KSH cho hiệu suất tốt hơn nhiều so với Bash, khi xử lý việc thực thi các lệnh và tập lệnh, hiệu suất của Bash là khá.
- KSH cung cấp các tính năng lập trình vượt trội và nhiều hơn so với Bash. Các tính năng lập trình của Bash kém hơn so với KSH. Tuy nhiên, Bash cũng có rất nhiều tính năng lập trình.
- KSH sử dụng lệnh in để in kết quả đầu ra, lệnh này tốt hơn lệnh Bash. Bash sử dụng lệnh echo để in kết quả đầu ra.
- KSH được phát triển sớm hơn Bash, vì vậy có ít tài nguyên trong KSH so với Bash. Bash là một shell mới và kết quả là nó có nhiều tài nguyên và phổ biến hơn so với KSH.
- Vì có cú pháp cũ hơn, các tập lệnh của KSH khó đọc hơn, nhưng để có cú pháp mới hơn, các tập lệnh của Bash có thể đọc và hiểu được.