Tôi đã dành đôi khi cố gắng để chọn một, trên so sánh net là cho zsh vs bash và cá vs bash. Nhưng, tôi không thể tìm thấy bất kỳ so sánh cho zsh vs cá. Tôi lập trình trong C và C++, ngoài các loại hello-world, không bao giờ thực hiện bất kỳ kịch bản chính nào. Nhưng bây giờ cố gắng tay của tôi tại python và shell-script. Vỏ nào giữ nhiều nước hơn về năng suất trước và sau đó phát triển? Hoặc cuối cùng, sức mạnh và khả năng sử dụng của bất kỳ trình bao nào đi kèm với các tệp _rc của nó. Vì vậy, tôi đủ tốt với bash?Đề xuất - Zsh vs FishShell. Scripting, năng suất và poweruser perse
Trả lời
Trước đây, có một loại thiết bị lửa giữa các vỏ C (CSH và TCSH) và Bash. Khiếu nại chống lại các biến thể CSH là chúng không tốt cho việc viết kịch bản.
Trong những năm tôi đã là một người nghiện CLI, tôi đã không bao giờ thực hiện bất kỳ tập lệnh độc lập nào mà ngôn ngữ kịch bản đã được chọn vì đó là nội dung của trình duyệt của tôi.
Tôi đã viết nhiều kịch bản rộng rãi có thể được chia thành hai loại:
- Những người giúp năng suất dòng lệnh của tôi
- Những người không liên quan trực tiếp đến năng suất dòng lệnh của tôi.
Các tập lệnh trong thể loại 1. hầu như luôn được viết bằng ngôn ngữ kịch bản lệnh shell của tôi (thường là chức năng như tôi đang sử dụng ZSH và trước đó sử dụng BASH cả hai chức năng hỗ trợ).
Các tập lệnh trong thể loại 2. được viết bằng bất kỳ thứ gì có vẻ hiệu quả nhất (cả thời gian phát triển và thời gian chạy được xem xét). Tôi thường thấy mình viết kịch bản nhỏ trong Perl, C (biên dịch, rõ ràng), BASH/ZSH/SH hoặc những gì tôi muốn. Tôi đã thực hiện một kịch bản Python nhỏ (nhưng không nhiều), và thậm chí cả khu nghỉ mát để Java nhân dịp (biên dịch-ish, một lần nữa).
Vì vậy, tôi đang bập bẹ về điều gì? Không căn cứ bạn lựa chọn vỏ trên khả năng kịch bản độc lập của nó. Chọn vỏ của bạn cho nó tiện ích cho bạn như một vỏ. Script trong bất cứ điều gì khác mà bạn chọn. Có thể bạn sẽ đủ tốt với BASH làm vỏ của bạn (mặc dù tôi thích ZSH hơn một chút, **/* globbing rất đẹp và một vài thứ nhỏ khác, nhưng hầu hết các kịch bản tôi viết cho ZSH đều sớm giống với BASH của họ đối tác).
Re: '**/*' - phiên bản hiện đại (4.x) của bash cũng hỗ trợ các bóng đệ quy; xem 'shopt -s globstar'. Điều đó là một sự khác biệt lớn trong quan điểm của tôi là hành vi phân chia chuỗi trên các mở rộng không được kiểm duyệt; zsh hiện nó theo cách sane, trong khi bash hiện nó theo cách tương thích với POSIX. Chắc chắn có rất nhiều chỗ cho sự khác biệt hợp pháp về những gì người ta thích ở đây; cá nhân, tôi đi theo sự phù hợp với tiêu chuẩn không có tư tưởng nhưng phổ biến. –
nếu bạn không thể tìm thấy bất kỳ so sánh nào giữa zsh so với cá, sau đó tự mình thử. Đó là cách duy nhất bạn có thể nói cái nào bạn thích, không ai khác có thể nói với bạn điều đó. Ngoài ra, xác định ý nghĩa của năng suất. Đối với tôi, sự phong phú của các mô-đun và khả năng nội bộ của ngôn ngữ. Nếu bạn đã bắt đầu với Python, hãy tìm nó. Đối với vỏ, bạn có thể học ít hơn (không nói hoàn toàn quên nó), liên quan đến việc có thể hiểu các kịch bản rc của bạn và các hệ thống khác vv. Ngoài ra, Python có thể làm những gì trình bao làm.
Bạn sẽ làm việc hiệu quả nhất trong môi trường bạn đã biết. Tôi sử dụng bash trong nhiều năm và tiền phạt của nó. Nó completes almost everything, có thể là used with git, mercurial ...
* mọi * vỏ có thể được sử dụng với GIT, Mercurial, etc :-) – Brian
Tôi có cùng một câu hỏi và tìm thấy:
- trang đó so sánh Unix Shells: Bash, Fish, Ksh, Tcsh, Zsh;
- Bash vs Zsh (vs Fish) chuỗi màu đỏ;
- What are the best Unix shells?
- 1. RDotNet vs R scripting
- 2. content_for vs năng suất trong partials
- 3. Đề nghị gói Zsh
- 4. php vs bash cho CLI scripting?
- 5. VIM vấn đề 7.2 Scripting với `: perldo` và nhiều biểu
- 6. ArrayBlockingQueue và thêm vs đặt vs công suất
- 7. Javascript - Đối số Vs Chức năng lồng nhau Hiệu suất Vs
- 8. @EJB tiêm vs tra cứu - vấn đề hiệu suất
- 9. haskell và Unix shell scripting
- 10. zsh bí danh -> chức năng?
- 11. Scripting và trình
- 12. vấn đề biên soạn zsh trong OSX
- 13. Scripting Visual Studio IDE
- 14. Hiểu suất Sinon.js của(), năng suất(), và callsArg()
- 15. Dependency Injection và phát triển năng suất
- 16. Hiệu suất của GridView vs DataList vs Repeater vs ListView
- 17. Shell scripting: cat vs echo cho đầu ra
- 18. clipToBounds và masksToBounds hiệu suất vấn đề
- 19. Hiệu suất Vector vs Array
- 20. Đề xuất MYSQL và GPL?
- 21. ZSH cho vấn đề biến mảng vòng lặp
- 22. hiệu suất stringbuf vs chuỗi
- 23. System.Reflection vs Generics - hiệu suất
- 24. nchar vs hiệu suất nvarchar
- 25. Hiệu suất: BufferedOutputStream vs FileWriter
- 26. gỡ lỗi vs hiệu suất phát hành
- 27. DataContractSerializer vs BinaryFormatter hiệu suất
- 28. Bất kỳ đề xuất nào để xử lý vấn đề hiệu suất GetFixedDocumentSequence XpsDocument?
- 29. hiệu suất của ConcurrentQueue vs Queue + lock
- 30. Scripting SVG
'fish' để sử dụng tương tác,' zsh' để tạo tập lệnh - nếu nó chỉ nằm giữa hai loại đó. Cá nhân, tôi nghĩ rằng giữ trong thói quen tốt lại: POSIX sh tuân thủ là quan trọng, đủ để gắn bó với bash, hoặc ksh nếu tôi quan tâm nhiều hơn về hiệu suất. –
... mà nói, câu hỏi này là rõ ràng chống lại các quy tắc ở đây; có một lý do gần gũi cụ thể cho các yêu cầu đề xuất-công cụ, * và * một lý do khác cho các câu hỏi tập trung vào ý kiến. –
So sánh tốt các loại vỏ khác nhau - http://hyperpolyglot.org/unix-shells – valentt