งานจริงเพื่อเรียนรู้เชลล์สคริปต์ [ปิด]


12

ฉันกำลังมองหาปัญหาที่พบบ่อยในการจัดการระบบยูนิกซ์และวิธีที่เชลล์สคริปต์สามารถแก้ไขได้ สมบูรณ์เพื่อการศึกษาด้วยตนเอง นอกจากนี้ฉันต้องการทราบว่าคุณจะเรียนรู้การเขียนสคริปต์เชลล์อย่างไร

คำตอบ:


15

เมื่อใดก็ตามที่คุณพบว่าตัวเองทำอะไรหลาย ๆ ครั้งสคริปต์มัน คิดว่าขี้เกียจเท่าที่จะทำได้ คอมพิวเตอร์ถูกสร้างขึ้นเพื่อทำสิ่งที่น่ารังเกียจ สิ่งที่มีกลิ่นเช่นงานไม่ว่างต้องใช้เชลล์สคริปต์

โดยส่วนตัวฉันเรียนรู้ด้วยการค้นหาใน Slackware สองสามปี ดูว่าเกิดอะไรขึ้นเมื่อคุณถอดระบบออกให้มากที่สุด เรียนรู้ที่จะคุ้นเคยกับข้อความ ในขณะที่คนอื่น ๆ กำลังไหลซึมและหวาดกลัวกับ NetworkManager เรียนรู้ว่าการทำให้ NetworkManager ของคุณเป็นเรื่องง่ายเพียงใด แน่นอนว่าอาจไม่มีกรณีการใช้งานหลายอย่าง แต่คุณสามารถใช้งานได้อย่างต่อเนื่องเชื่อมต่อแบบไดนามิกผ่านทางอีเธอร์เน็ตและระบบไร้สายตามต้องการพอเพียง


6

ฉันอยากจะแนะนำหนังสือสามเล่มที่ฉันแนะนำในอีกหัวข้อหนึ่งในความคิดของฉันหนังสือที่ดีที่สุดที่จะเข้าสู่จิตวิญญาณของ Unix:

  • สภาพแวดล้อมการเขียนโปรแกรม Unix จาก Kernighan และ Pike
  • Unix สำหรับคนใจร้อน
  • เครื่องมือไฟฟ้า Unix ของ O'Reilly

อันแรกเก่าแก่มาก แต่ก็สั้นกระชับอ่านสั้น ๆ และจะให้สับเชลล์ที่คุณต้องการ (การแสดงออกปกติ sed, pipelines)

อย่างที่สองคือความบันเทิงอย่างไม่น่าเชื่อ

อย่างที่สามคือชุดของ "ที่สุดของ" เทคนิคจาก Unix Masters ในยุค 90 (นั่นคือตอนที่ฉันอ่านมัน) หนังสือยังคงได้รับการแก้ไขอีกครั้งดังนั้นฉันมั่นใจว่ามันมีนักเก็ตใหม่มากมาย


+1 สำหรับ Unix Programming Environment หลังจากอ่านสิ่งนี้ทันใดนั้นยูนิกซ์ก็ทำให้ฉันรู้สึกดีขึ้นมาก การเปิดเผย :-) นิดหน่อย
dr-jan

สภาพแวดล้อมการเขียนโปรแกรม Unix เป็นหนึ่งในหนังสือไม่กี่เล่มที่ครอบคลุม "เอกสารที่นี่" ได้เลย คุณสามารถทำสิ่งต่างๆมากมายด้วย "เอกสารที่นี่" ซึ่งหลายคนคิดว่าเป็นไปไม่ได้ที่จะทำในไฟล์เดียว
Bruce Ediger


2

วิธีการเรียนรู้: ตกหลุมรักกับบรรทัดคำสั่ง ใช้เป็นประจำและดึงหน้าคนบ่อยขึ้น บ่อยครั้งที่ man bashเมื่อฉันเป็นครั้งแรกที่การเรียนรู้การเขียนสคริปต์ฉันไม่สามารถนับจำนวนครั้งที่ผมพิมพ์ ฉันยังไม่สามารถนับจำนวนครั้งที่ฉันดึงหน้า man สำหรับคำสั่งอื่น


1
+1 ถึงเควิน ฉันเรียนรู้การเขียนสคริปต์ในลักษณะเดียวกัน สถานการณ์มักจะเป็นว่าฉันจะต้องประมวลผลไฟล์ข้อมูลภาษาโคบอล (ใช่ที่ไกลหลัง ... แต่นี่คือภาษาโคบอลใน UNIX ไม่ใช่ในเมนเฟรม !!) แทนที่จะเป็นรหัส COBOL ฉันจะลุกขึ้น awk (ไม่ได้ติดตั้งเพราะไม่ได้ติดตั้งบนเซิร์ฟเวอร์ของเรา) และทำสิ่งต่าง ๆ เช่นรายงานลูกค้า 50 อันดับแรก :-)

ฉันใช้xterm(หรือเทอร์มินัลใด ๆ หากเป็นเรื่องสำคัญ) ในฐานะผู้จัดการไฟล์หลักของฉัน ดังนั้นฉันจึงบังคับตัวเองให้ใช้เชลล์ตลอดเวลาซึ่งทำให้ฉันเรียนรู้และพัฒนาเทคนิคต่าง ๆ ตลอดเวลา
Denilson Sá Maia

2

ฉันเรียนรู้โดยการเขียนเครื่องมือตรวจสอบ มันจะเชื่อมต่อกับเครือข่ายของเครื่องผ่าน ssh และรวบรวมข้อมูลเช่นสถานะการออนไลน์โหลดจำนวนการเชื่อมต่อที่ใช้งานอยู่การใช้หน่วยความจำและสิ่งต่างๆ บนเครื่องของฉันมันจะแสดงให้ฉันเห็นว่าข้อมูลเป็นตารางข้อความ


1

ฉันสองคำแนะนำของ Miguel เกี่ยวกับ 'The Unix Programming Environment' มันเก่ามาก แต่มันเป็นวิธีที่ฉันเรียนรู้เกือบทุกอย่างที่ฉันรู้เกี่ยวกับเชลล์และเพราะมันเก่ามากคุณจึงสามารถซื้อมันได้ในราคาเพียงไม่กี่เหรียญในอเมซอน: http://is.gd/eiSn6


0

ค้นหาหนังสือหรือคู่มือและดูแลเชลล์ที่คุณเลือกเช่นภาษาการเขียนโปรแกรมเพราะมันเป็น (ก็อาจจะไม่ csh ... )

สำหรับผู้เริ่มเรียนรู้วิธีการพิจารณาว่าคุณอยู่ใน Bash shell, Bourne shell, csh, zsh หรืออะไรก็ตาม สิ่งเหล่านี้บางอย่างคล้ายกับคนอื่น ๆ เช่น C และ C ++ ที่แตกต่างกันอย่างไม่น่าเชื่อดังนั้นการรู้ว่าคุณกำลังต่อสู้กับใครจะช่วยคุณค้นหาตัวอย่างและคู่มือที่จริงจะช่วยในสถานการณ์ที่กำหนด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.