Nhiệm vụ thực tế để học shell scripting [đã đóng]


12

Tôi đang tìm kiếm một số vấn đề phổ biến trong quản trị hệ thống unix và các cách mà shell script có thể giải quyết chúng. Hoàn toàn cho mục đích tự giáo dục. Ngoài ra tôi muốn biết làm thế nào bạn sẽ học về kịch bản shell.

Câu trả lời:


15

Bất cứ khi nào bạn thấy mình làm điều gì đó nhiều lần, hãy viết kịch bản. Hãy suy nghĩ lười biếng nhất có thể. Máy tính được chế tạo để làm tất cả những thứ nhảm nhí đó. Bất cứ điều gì có mùi như công việc bận rộn đều cần một kịch bản shell.

Cá nhân, tôi đã học được bằng cách lục lọi trong Slackware trong một vài năm. Xem những gì xảy ra khi bạn tước hệ thống của bạn trở lại càng nhiều càng tốt. Học cách thoải mái với văn bản. Trong khi mọi người khác đang loay hoay với NetworkManager, hãy tìm hiểu cách đơn giản để tạo NetworkManager của riêng bạn. Chắc chắn, nó có thể không có nhiều trường hợp sử dụng, nhưng bạn có thể nhận được một cái gì đó và chạy, kết nối linh hoạt qua ethernet và không dây theo yêu cầu khá đơn giản.


6

Tôi muốn giới thiệu lại ba cuốn sách mà tôi đã đề xuất trong một chủ đề khác, theo ý kiến ​​của tôi, đây là những cuốn sách hay nhất để đi vào tinh thần của Unix:

  • Môi trường lập trình Unix từ Kernighan và Pike
  • Unix cho người thiếu kiên nhẫn
  • Các công cụ điện Unix của O'Reilly.

Cái đầu tiên là cũ, rất cũ, nhưng nó ngắn gọn, đọc ngắn và sẽ cung cấp cho bạn các mảnh vỏ mà bạn cần (biểu thức chính quy, sed, đường ống).

Thứ hai là giải trí vô cùng.

Cái thứ ba là một tập hợp các thủ thuật "tốt nhất" từ các bậc thầy Unix trong những năm 90 (Đó là khi tôi đọc nó). Cuốn sách tiếp tục được chỉnh sửa lại, vì vậy tôi chắc chắn rằng nó chứa nhiều cốm mới.


+1 cho Môi trường lập trình Unix. Sau khi đọc nó, đột nhiên Unix có ý nghĩa khủng khiếp hơn nhiều đối với tôi. Một chút mặc khải :-)
dr-jan

Môi trường lập trình Unix là một trong số ít những cuốn sách bao gồm "tài liệu ở đây". Bạn có thể làm rất nhiều với "tài liệu ở đây" mà nhiều người nghĩ là không thể làm trong một tệp.
Bruce Ediger


2

Làm thế nào để tìm hiểu nó: Yêu dòng lệnh. Sử dụng nó thường xuyên và kéo lên trang man thường xuyên. Thường xuyên, thậm chí. Khi tôi lần đầu tiên học kịch bản, tôi không thể đếm được bao nhiêu lần tôi đã gõ man bash. Tôi cũng không thể đếm được bao nhiêu lần tôi kéo trang man cho một lệnh khác.


1
+1 cho Kevin. Tôi đã học kịch bản theo cách tương tự. Kịch bản điển hình là tôi sẽ cần xử lý các tệp dữ liệu COBOL này (vâng, từ đó trở lại ... nhưng đây là COBOL trên UNIX, không phải trên Mainframes !!). Thay vì xử lý mã COBOL, tôi sẽ kích hoạt awk (thậm chí không perl vì nó không được cài đặt trên máy chủ của chúng tôi) và làm những việc như báo cáo của 50 khách hàng hàng đầu :-)

Tôi sử dụng xterm(hoặc bất kỳ thiết bị đầu cuối nào, nếu điều đó quan trọng) làm trình quản lý tệp chính của tôi. Do đó, tôi đã ép mình sử dụng shell TẤT CẢ thời gian, điều đó khiến tôi học hỏi và phát triển một số thủ thuật theo thời gian.
Denilson Sá Maia

2

Tôi đã học nó bằng cách viết một công cụ giám sát. Nó sẽ kết nối với một loạt các máy thông qua ssh và thu thập dữ liệu như thời gian hoạt động, tải, số lượng kết nối hoạt động, sử dụng bộ nhớ và những thứ tương tự. Trên máy cục bộ của tôi, nó sẽ hiển thị cho tôi dữ liệu đó dưới dạng bảng văn bản.


1

Tôi thứ hai đề nghị của Miguel về 'Môi trường lập trình Unix'. Nó thực sự cũ nhưng đó là cách tôi học được hầu hết mọi thứ tôi biết về vỏ và vì nó quá cũ nên bạn có thể nhận được nó chỉ với một vài đô la trên amazon: http://is.gd/eiSn6


0

Tìm một cuốn sách hoặc một hướng dẫn và coi vỏ của bạn như ngôn ngữ lập trình, bởi vì nó là. (Chà, có lẽ không phải ...

Để bắt đầu, hãy tìm hiểu cách tìm hiểu xem bạn có đang ở trong vỏ Bash, vỏ Bourne, csh, zsh hay bất cứ thứ gì không. Một số trong số này tương tự nhau như C và C ++ - khác nhau về mặt nhận thức - vì vậy việc biết bạn đang chiến đấu với ai sẽ giúp bạn tìm ra các ví dụ và hướng dẫn thực sự sẽ giúp ích trong một tình huống nhất định.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.