สคริปต์เชลล์แบบเต็มสำหรับสคริปต์ Wicked Cool Shell รุ่นที่สอง
https://www.nostarch.com/wicked2
การจัดหาสคริปต์ wcss_shell.sh
จะตั้งค่าสภาพแวดล้อม bash ของคุณเพื่อให้สามารถเรียกสคริปต์ได้จาก PATH แทนที่จะต้องถูกเรียกอย่างสัมพันธ์กันหรือโดยสมบูรณ์
บทที่ 0: หลักสูตรความผิดพลาด
บทนี้เน้นที่การทำให้ผู้ใช้บรรทัดคำสั่งมือใหม่ทราบถึงเชลล์สคริปต์ว่าคืออะไร วิธีสร้างสคริปต์ และเหตุใดจึงมีประโยชน์
บทที่ 1: ไลบรารีรหัสที่หายไป
ภาษาการเขียนโปรแกรมในสภาพแวดล้อม Unix โดยเฉพาะ C, Perl หรือ Python มีไลบรารีฟังก์ชันและยูทิลิตี้ที่มีประโยชน์มากมายเพื่อตรวจสอบความถูกต้องของรูปแบบตัวเลข คำนวณการชดเชยวันที่ และทำงานที่มีประโยชน์อื่นๆ อีกมากมาย เมื่อทำงานกับเชลล์ เราจะเหลือตัวเราเองมากขึ้น ดังนั้นบทแรกนี้จึงมุ่งเน้นไปที่เครื่องมือและแฮ็กต่างๆ เพื่อทำให้เชลล์สคริปต์เป็นมิตรมากขึ้น ทั้งในหนังสือและภายในสคริปต์ของเราเอง ฉันได้รวมฟังก์ชันการตรวจสอบอินพุตต่างๆ ไว้ เช่น ส่วนหน้าแบบสคริปต์ที่เรียบง่ายแต่ทรงพลังของ bc ซึ่งเป็นเครื่องมือสำหรับการเพิ่มลูกน้ำอย่างรวดเร็วเพื่อปรับปรุงการนำเสนอตัวเลขที่มีขนาดใหญ่มาก เทคนิคในการหลีกเลี่ยง Unixes ที่ไม่สนับสนุนแฟล็ก -n ที่เป็นประโยชน์ เพื่อสะท้อนและสคริปต์รวมสำหรับการใช้ลำดับสี ANSI ในสคริปต์
บทที่ 2 และบทที่ 3: การปรับปรุงคำสั่งและการสร้างยูทิลิตี้
สองบทนี้มีคำสั่งใหม่ที่ขยายและขยาย Unix ในรูปแบบที่เป็นประโยชน์ต่างๆ แท้จริงแล้ว ลักษณะที่ยอดเยี่ยมอย่างหนึ่งของ Unix ก็คือมันเติบโตและพัฒนาอยู่เสมอ ดังที่เห็นได้จากการแพร่กระจายของ command shell เช่น ksh และ zsh และทางเลือกอื่นแทน bash ฉันมีความผิดในการช่วยเหลือวิวัฒนาการนี้เหมือนกับแฮ็กเกอร์คนต่อไป ดังนั้นบทคู่นี้จึงเสนอสคริปต์ที่ใช้เครื่องคิดเลขแบบโต้ตอบที่เป็นมิตร ระบบอำนวยความสะดวกในการยกเลิกการลบ ระบบเตือนความจำ/ติดตามเหตุการณ์ที่แตกต่างกันสองระบบ การปรับใช้คำสั่งระบุตำแหน่งอีกครั้ง ส่วนหน้าที่มีประโยชน์สำหรับการตรวจสอบการสะกด คำสั่งวันที่แบบหลายเขตเวลา และเวอร์ชันใหม่ของ ls ที่เพิ่มประโยชน์ของรายการไดเร็กทอรี
บทที่ 4: การปรับแต่ง Unix
นี่อาจเป็นเรื่องนอกรีต แต่มีบางแง่มุมของ Unix ที่ดูเหมือนจะเสียหาย แม้จะผ่านการพัฒนามาหลายทศวรรษก็ตาม หากคุณย้ายไปมาระหว่าง Unix รสชาติต่างๆ โดยเฉพาะอย่างยิ่งระหว่าง Linux แบบโอเพ่นซอร์สและ Unix เชิงพาณิชย์ เช่น OS X, Solaris หรือ Red Hat คุณจะทราบถึงแฟล็กที่หายไป คำสั่งที่หายไป คำสั่งที่ไม่สอดคล้องกัน และปัญหาที่คล้ายกัน ดังนั้น บทนี้จึงรวมทั้งการเขียนใหม่และส่วนหน้าของคำสั่ง Unix เพื่อให้คำสั่งเหล่านี้เป็นมิตรมากขึ้นหรือสอดคล้องกับ Unix อื่นๆ มากขึ้น สคริปต์มีวิธีการเพิ่มแฟล็กคำสั่งแบบเต็มคำสไตล์ GNU ให้กับคำสั่งที่ไม่ใช่ GNU และสคริปต์อัจฉริยะสองสามตัวเพื่อให้การทำงานกับยูทิลิตี้การบีบอัดไฟล์ต่างๆ ง่ายขึ้นมาก
บทที่ 5 และบทที่ 6: เครื่องมือการดูแลระบบ
หากคุณหยิบหนังสือเล่มนี้ขึ้นมา อาจเป็นไปได้ว่าคุณมีทั้งสิทธิ์การเข้าถึงระดับผู้ดูแลระบบและความรับผิดชอบด้านการดูแลระบบบนระบบ Unix ตั้งแต่หนึ่งระบบขึ้นไป แม้ว่าจะเป็นเพียงกล่อง Ubuntu หรือ BSD ส่วนตัวก็ตาม สองบทนี้นำเสนอสคริปต์บางส่วนเพื่อปรับปรุงชีวิตของคุณในฐานะผู้ดูแลระบบ รวมถึงการใช้ดิสก์ เครื่องมือวิเคราะห์ ระบบโควต้าดิสก์ที่จะส่งอีเมลถึงผู้ใช้ที่ใช้งานเกินโควต้าที่ได้รับการจัดสรรโดยอัตโนมัติ ซึ่งเป็นเครื่องมือที่สรุปบริการที่เปิดใช้งาน โดยไม่คำนึงว่าคุณจะ ใช้ inetd หรือ xinetd, การปรับใช้ killall ใหม่, เครื่องมือตรวจสอบ crontab, เครื่องมือการหมุนไฟล์บันทึก และยูทิลิตี้สำรองข้อมูลสองสามรายการ
บทที่ 7: ผู้ใช้เว็บและอินเทอร์เน็ต
อินเทอร์เน็ตแพร่หลายในยุคนี้ บทนี้ประกอบด้วยแฮ็กเชลล์สคริปต์เจ๋งๆ มากมายที่แสดงให้เห็นว่าบรรทัดคำสั่ง Unix สามารถนำเสนอวิธีการทำงานกับทรัพยากรบนอินเทอร์เน็ตที่ยอดเยี่ยมและค่อนข้างง่ายได้อย่างไร รวมถึงเครื่องมือสำหรับการแยก URL จากหน้าเว็บใดๆ ตัวติดตามสภาพอากาศ เครื่องมือค้นหาฐานข้อมูลภาพยนตร์ ตัวติดตามพอร์ตหุ้น และตัวติดตามการเปลี่ยนแปลงสำหรับเว็บไซต์พร้อมการแจ้งเตือนทางอีเมลอัตโนมัติเมื่อมีการเปลี่ยนแปลงปรากฏขึ้น
บทที่ 8: การแฮ็กเว็บมาสเตอร์
อีกด้านหนึ่งของเว็บคอยน์คือเมื่อคุณใช้งานเว็บไซต์ ไม่ว่าจะจากระบบ Unix ของคุณเองหรือบนเซิร์ฟเวอร์ที่ใช้ร่วมกันที่อื่นในเครือข่าย หากคุณเป็นผู้ดูแลเว็บ สคริปต์ในบทนี้มีเครื่องมือที่น่าสนใจสำหรับการสร้างหน้าเว็บได้ทันที ประมวลผลแบบฟอร์มติดต่อ สร้างอัลบั้มรูปบนเว็บ และแม้แต่ความสามารถในการบันทึกการค้นหาเว็บ
บทที่ 9 และบทที่ 10: การบริหารเว็บและอินเทอร์เน็ต
สองบทนี้พิจารณาถึงความท้าทายที่ผู้ดูแลระบบเซิร์ฟเวอร์ที่เชื่อมต่ออินเทอร์เน็ตต้องเผชิญ รวมถึงสคริปต์สองตัวที่แตกต่างกันเพื่อวิเคราะห์แง่มุมที่แตกต่างกันของบันทึกการรับส่งข้อมูลของเว็บเซิร์ฟเวอร์ เครื่องมือสำหรับระบุลิงก์ภายในหรือภายนอกที่เสียหายในเว็บไซต์ สคริปต์ตรวจสอบการสะกดของเว็บเพจ และเครื่องมือการจัดการรหัสผ่านเว็บ Apache ที่ช่วยให้การรักษาไฟล์ .htaccess แม่นยำเป็นเรื่องง่าย นอกจากนี้ยังมีการสำรวจเทคนิคในการมิเรอร์ไดเร็กทอรีและเว็บไซต์ทั้งหมดด้วยเครื่องมือการมิเรอร์อีกด้วย
บทที่ 11: สคริปต์ Mac OS X
OS X เป็นการก้าวกระโดดครั้งใหญ่ในการบูรณาการ Unix และอินเทอร์เฟซผู้ใช้แบบกราฟิกที่น่าดึงดูดและประสบความสำเร็จในเชิงพาณิชย์ ที่สำคัญกว่านั้น เนื่องจากทุกระบบ OS X มี Unix ที่สมบูรณ์ซึ่งซ่อนอยู่หลังอินเทอร์เฟซที่สวยงาม จึงมีสคริปต์ที่มีประโยชน์และให้ความรู้จำนวนหนึ่งที่สามารถเขียนได้ และนั่นคือสิ่งที่บทนี้จะกล่าวถึงอย่างแน่นอน นอกเหนือจากการเขียน adduser ใหม่ ซึ่งอนุญาตให้ตั้งค่าบัญชีผู้ใช้ OS X ได้ในไม่กี่วินาทีจากบรรทัดคำสั่ง สคริปต์ในบทนี้จะสำรวจวิธีที่ OS X จัดการกับนามแฝงอีเมล วิธีที่ iTunes จัดเก็บคลังเพลง และวิธีการเปลี่ยนหน้าต่าง Terminal และปรับปรุงคำสั่งเปิดที่มีประโยชน์
บทที่ 12: ความสนุกสนานและเกม
หนังสือเขียนโปรแกรมที่ไม่มีเกมอย่างน้อยสองสามเกมคืออะไร บทนี้รวมเทคนิคและแนวคิดที่ซับซ้อนที่สุดไว้ในหนังสือเพื่อนำเสนอเกมที่สนุกและท้าทายสามเกม ในขณะที่สนุกสนาน รหัสสำหรับแต่ละบทก็คุ้มค่าที่จะศึกษาเมื่อคุณอ่านบทนี้จนจบ หมายเหตุพิเศษคือเกมเพชฌฆาตซึ่งแสดงเทคนิคการเข้ารหัสอัจฉริยะและเทคนิคเชลล์สคริปต์
บทที่ 13: การทำงานกับคลาวด์
นับตั้งแต่ตีพิมพ์หนังสือเล่มนี้ครั้งแรก อินเทอร์เน็ตเข้ามามีบทบาทในชีวิตประจำวันของเรามากขึ้นเรื่อยๆ ความรับผิดชอบหลายอย่างเกี่ยวข้องกับการซิงโครไนซ์อุปกรณ์และไฟล์กับบริการคลาวด์ เช่น iCloud, Dropbox และ Google Drive บทนี้ครอบคลุมถึงเชลล์สคริปต์ที่ทำให้เราสามารถใช้ประโยชน์จากบริการเหล่านี้ได้อย่างเต็มที่ เพื่อให้แน่ใจว่าไฟล์หรือไดเร็กทอรีได้รับการสำรองและซิงโครไนซ์ เช่นเดียวกับเชลล์สคริปต์สองสามตัวที่แสดงคุณสมบัติเฉพาะของ OS X สำหรับรูปภาพหรือการอ่านออกเสียงข้อความ
บทที่ 14: ImageMagick และการทำงานกับไฟล์กราฟิก
แอปพลิเคชันบรรทัดคำสั่งไม่จำเป็นต้องจำกัดอยู่เพียงข้อมูลแบบข้อความหรือกราฟิกเท่านั้น บทนี้มีไว้เพื่อการระบุและจัดการรูปภาพจากบรรทัดคำสั่งโดยใช้ชุดเครื่องมือประมวลผลภาพที่รวมอยู่ในซอฟต์แวร์โอเพ่นซอร์ส ImageMagick ตั้งแต่การระบุประเภทรูปภาพไปจนถึงการวางกรอบและใส่ลายน้ำให้กับรูปภาพ เราเขียนเชลล์สคริปต์เพื่อทำงานเกี่ยวกับรูปภาพทั่วไปให้สำเร็จ รวมถึงกรณีการใช้งานอื่นๆ อีกสองสามกรณี
บทที่ 15: วันและวันที่
เราจัดการกับวันที่และการนัดหมายตลอดเวลา และการหาว่าระหว่างวันที่สองวัน วันที่กำหนดคือวันใด หรือกี่วันก่อนที่จะถึงวันที่ที่ระบุล้วนเป็นปัญหาทั่วไปที่เราต้องเผชิญ ในบทสุดท้ายของหนังสือเล่มนี้ เราจะพูดถึงวิธีที่เราสามารถแก้ไขปัญหาเหล่านี้ให้สำเร็จด้วยเชลล์สคริปต์ที่ใช้งานง่าย