"Điểm mạnh của kịch bản shell là gì khiến nó trở thành một công cụ không thể thiếu so với Python?"
Vỏ không thể thiếu. Bạn nghĩ tại sao có rất nhiều? bash, tcsh, csh, sh, v.v., v.v.,
Python là một cái vỏ. Không phải là cái bạn sẽ sử dụng để chạy tất cả các lệnh, nhưng để viết script, nó rất lý tưởng.
Python là một phần tiêu chuẩn ít nhiều của tất cả các bản phân phối Linux.
Các vỏ truyền thống hơn 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 của bạn, phân tách và thực thi chương trình được yêu cầu. Nó cũng bao gồm đườ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ó một khả năng giống như ngôn ngữ lập trình nhỏ bé để chạy các 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 bằng ngôn ngữ này yêu cầu thêm một hoặc nhiều quy trình bổ sung, gây lãng phí thời gian và bộ nhớ.
Chạy các chương trình từ shell, chuyển hướng stderr đến một tệp nhật ký và điều đó là tốt. Làm điều đó trong shell.
Hầu hết 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 tập lệnh với câu lệnh if hoặc vòng lặp bằng ngôn ngữ shell truyền thống.