Shell Bourne ( sh back in the day) của chi nhánh AT & T của Unix đã được cải tiến và áp đảo bởi Korn Shell, ksh . ksh cũng đã ra khỏi AT & T Bell Labs và không phải là GPL (phiên bản hiện tại là Giấy phép Công cộng Eclipse). Shell C, csh ra đời từ phiên bản Unix của Unix và cũng không phải là GPL (giấy phép BSD) và cũng sử dụng cú pháp khác với sh. Z-shell, zsh là một cải tiến trên sh nhưng không phải GPL (giấy phép giống như MIT). Bash là một cải tiến trên sh, đã sử dụng GPL và từ GNU. Chỉ có giấy phép thôi, Bash có lẽ đã là lựa chọn cho hệ điều hành GPL. Đặc biệt với vỏ là một phần cốt lõi của một bản phân phối.
Nhưng Bash cũng là một dự án GNU, tôi nghĩ rằng, phát triển tích cực hơn và đóng góp dễ dàng hơn một sản phẩm kế thừa từ Berkeley Unix hoặc AT & T Unix. Một trường hợp rất tốt có thể được thực hiện rằng zsh là và là một vỏ tốt hơn Bash, nhưng không đủ để vượt qua tình trạng giấy phép và trạng thái dự án không phải là GNU.
Quay lại khi các bản phân phối Linux lần đầu tiên xuất hiện và chọn lớp vỏ mặc định của chúng (đầu đến giữa những năm 90), không có github (2008) hay thậm chí là SourceForge (1999). Vào thời điểm đó, tôi nghĩ các dự án GNU có lợi thế thực sự so với các dự án không phải GNU trong việc thu hút sự chú ý và vẽ và bao gồm cả các nhà phát triển mới. Vì vậy, các distro có thể nhìn vào Z-shell tốt hơn, nhưng cũng hy vọng rằng Bash sẽ nhận được sự hỗ trợ và bảo trì tốt trong tương lai, và cũng có nhiều tính năng được thêm vào nó, cho phép nó bắt kịp zsh.
Bây giờ Bash đã có nhiều năm ở trạng thái mặc định, nó trở thành một tiêu chuẩn defacto, với những cuốn sách viết về nó. Có một cuốn sách bao gồm cả Bash và Z-shell , nhưng không có cuốn sách nào nói riêng về nó, trong khi có nhiều cuốn sách làm như vậy cho Bash.
Và tại thời điểm này, nếu các distro thay đổi mặc định để nâng cấp hệ thống hiện có, nó sẽ phá vỡ các thiết lập vì một số tệp khởi tạo có tên khác nhau (ví dụ: .bashrc so với .zshrc) và nội dung của các tệp có thể có cú pháp không tương thích. Vì vậy, họ sẽ rất miễn cưỡng làm điều đó, để lại các bản tải xuống mới có zsh làm mặc định và nâng cấp để có bash. Hai mặc định khác nhau cho cùng một bản phân phối là điều mà có lẽ họ không muốn phải hỗ trợ và người dùng / công ty cũng không muốn giải quyết.
ksh
, thì cũng đúng là hầu hết mọi người sử dụng một lớp vỏ khác, và chính điều này sẽ giải thích tại saoksh
không phải là lớp vỏ mặc định. Tuy nhiên tôi không nghĩ đó là lý do, chúng ta hãy chờ câu trả lời của kẻ giết người mà tôi chắc chắn câu hỏi này sẽ nhận được.