"Thế mạnh của kịch bản shell làm cho nó trở thành công cụ không thể thiếu so với Python là gì?"
Vỏ không phải là không thể thiếu. Tại sao bạn nghĩ có rất nhiều? Bash, tcsh, csh, sh, vv, vv,
Python là một vỏ. Không phải là một trong những bạn 'd sử dụng để chạy tất cả lệnh, nhưng đối với kịch bản, đó là lý tưởng.
Python là một phần hơn hoặc ít hơn tiêu chuẩn của tất cả các distro của Linux.
các vỏ truyền thống làm quá nhiều thứ.
Chúng có giao diện người dùng tiện dụng để chạy các lệnh. Điều này bao gồm các lệnh một dòng trong đó trình bao tìm kiếm PATH, forks và thực thi chương trình được yêu cầu. Nó cũng bao gồm các đường ống, trình tự và các chương trình đồng thời (sử dụng ;
, |
và &
) cũng như một số chuyển hướng (sử dụng >
và <
).
Chúng có khả năng giống như ngôn ngữ lập trình nhỏ để chạy tập lệnh. Ngôn ngữ này khá khó sử dụng và cực kỳ kém hiệu quả. Hầu hết các câu lệnh trong ngôn ngữ này đều yêu cầu một hoặc nhiều quy trình bổ sung, lãng phí thời gian và bộ nhớ.
Chạy chương trình từ trình bao, chuyển hướng stderr đến tệp nhật ký và loại điều đó là tốt. Làm điều đó trong vỏ.
Hầu như mọi thứ khác có thể được thực hiện hiệu quả hơn và rõ ràng hơn như một tập lệnh Python.
Bạn cần cả hai. Tuy nhiên, bạn không bao giờ nên viết một kịch bản với các câu lệnh if hoặc các vòng lặp trong một ngôn ngữ shell truyền thống.
Nguồn
2009-04-28 11:07:43
1 và 2, điểm tốt. # 3 là một điểm yếu, vì nó dẫn đến rất nhiều chi phí mà Python có thể tránh được. # 4 có thể phần lớn là không đúng sự thật. Python bây giờ là một phần của hầu hết các bản phân phối Linux. –
Tôi không thấy chi phí. Bạn có một số con số? – Svante
Về Python - có, nó là khá nhiều phổ biến trên Linux; tất cả thế giới không phải là một hộp Linux. Có nói rằng, nó có sẵn cho mọi nền tảng giống Unix. Tuy nhiên, trên hộp Solaris của tôi, nó được cài đặt phần nào ra khỏi con đường (/ usr/sfw/bin/python); Tôi chỉ tìm thấy thư mục ở tất cả trong năm qua hoặc lâu hơn. –