2011-01-15 30 views
7

Tôi thường mã các kịch bản quản trị bằng Python và tôi biết nhiều mã đó trong Perl. Tôi chuẩn bị đầu tư một thời gian để cải thiện kỹ năng lập trình bash của mình. Nhưng tôi tự hỏi, nếu mọi người xung quanh nghĩ rằng đây là một ý tưởng tốt?Python và/hoặc Perl VS bash

Tôi biết bash là một kỹ năng tốt để có và tiếp thị rất thường xuyên, nhưng ... nếu tôi có thể nhận được bằng Python hoặc Perl thì ... có thực sự đáng giá không?

Là câu trả lời Tôi đang tìm các trường hợp thực sự bash tốt hơn Perl hoặc Python để phát triển tập lệnh quản trị viên.

+4

perl/python và bash sử dụng hai triết lý rất khác nhau, bash cố gắng tận dụng các chương trình khác ở mức độ lớn nhất có thể (gõ 'x', sẽ thực thi chương trình 'x'), cái gì đó không phải là perl hay python. Tôi nói nó có giá trị học tập, bất kể bạn có muốn sử dụng nó hay không. – falstro

Trả lời

7

Mọi thứ bạn học chỉ có thể mang lại lợi ích cho bạn, không bao giờ là một ý tưởng tồi để tìm hiểu điều gì đó. Điều đó nói rằng, nếu bạn cảm thấy bạn đang làm việc với Python sau đó tôi không thấy lý do tại sao bạn sẽ cần bash. Python mạnh hơn (là một ngôn ngữ lập trình đầy đủ thổi) và IMO có cú pháp đẹp hơn, dễ đọc hơn. Mặc dù vậy, Bash thường hữu ích cho việc viết kịch bản nhanh và bẩn.

Nếu bạn quyết định tìm hiểu nó, sau đây là một số tài nguyên để giúp bạn bắt đầu:

  1. A Bash guide for beginners
  2. The magnificent Bash FAQ
  3. Common Bash Pitfalls

Mặc dù một số quy tắc-of-thumb là đôi khi ném vào không khí liên quan đến thời điểm bạn nên sử dụng mỗi lần, tôi nghĩ bạn sẽ tìm ra khi bạn biết tất cả các tùy chọn của mình. Có một công cụ khác trong kho vũ khí của bạn luôn là một lợi thế.

+4

Tôi muốn thêm rằng nếu bạn sử dụng dòng lệnh đôi khi (hoặc nhiều hơn thế) biết bash là một lợi thế, vì mọi thứ bạn có thể gõ vào một tập lệnh, bạn cũng có thể gõ vào dòng lệnh. – extraneon

+0

Bí quyết hữu ích nhất mà tôi biết cho bash là X = "$ {X% 00}" có dải '00' từ 'X' =) –

+2

@KentFredric: chính xác là nó xuất hiện lần đầu tiên '00' từ phía sau chuỗi X. – racic

0

Tôi muốn nói nếu đây chỉ là máy của bạn và bạn không được phép chia sẻ các tập lệnh quản trị đó với bất kỳ tập lệnh nào khác, vì vậy bạn nên tiếp tục thực hiện điều đó bằng Python (có vẻ như bạn cảm thấy thoải mái hơn).

Nhưng nếu bạn có đồng nghiệp hoặc tập lệnh quản trị của bạn được nhân viên khác cho là nhân viên, vì vậy hãy giữ nó theo cách phổ biến hơn và dễ hiểu hơn đối với những người khác: Bash! Ngoài ra tôi đoán nếu bạn biết Bash, bạn có thể đơn giản sử dụng hàng tá kịch bản Bash hiện có bằng cách tùy chỉnh chúng hoặc cải thiện chúng thành bất kỳ thứ gì phù hợp hơn với bạn!