สร้างโปรแกรมของคุณทีละขั้นตอนโดยใช้ Shell Scripting - ตอนที่ 3

ในรายการก่อนหน้านี้ในสิ่งพิมพ์ชุดนี้เราได้นึกถึงวิธีการนำ a:

การเขียนสคริปต์เชลล์

และก่อนหน้านี้วิธีการใช้งานไฟล์ Shebang และ BSM (Bash Strict Mode / Strict Bash Mode)

แนวทางปฏิบัติที่ดีที่สุดในการสร้าง Shell Script ใน GNU / Linux - ตอนที่ 1

แนวทางปฏิบัติที่ดีที่สุดในการสร้าง Shell Script ใน GNU / Linux - ตอนที่ 2

นี่คือตัวอย่างของไฟล์ โมดูลการดำเนินการสองครั้งหรือการดำเนินการที่ล้มเหลวโดยยกตัวอย่างหนึ่งในไฟล์ โปรแกรม (แอปพลิเคชัน) ข้อเท็จจริงในก เชลล์สคริปต์ ที่เรียกว่า การติดตั้ง Linux Post - สคริปต์สองร้อยปี 8.0:

นี่ควรเป็นโมดูล (ส่วน) เพื่อตรวจสอบความถูกต้องว่าสคริปต์ไม่ได้ทำงานจริงดังนั้นจึงป้องกันไม่ให้รันสองครั้งหรือล้มเหลวในครั้งก่อนที่รันสคริปต์ก็จบลงด้วยความเรียบร้อย ฉันเพิ่มบรรทัดต่อไปนี้เป็นการส่วนตัวเพื่อสร้างโมดูลนี้:


###############################################################################
# INICIO DEL MODULO DE DETECCIÓN DE DOBLE EJECUCIÓN ó EJECUCIONES FALLIDAS
###############################################################################

if [[ -f  $UBICACION/$FILE_LOCK ]]; then

   setterm -background red
   echo "El Script no podrá ejecutarse!"
   echo "Debido a que el Archivo de Bloqueo de doble ejecución lo impide."
   sleep 5 ; exit 0

 else

  touch $UBICACION/$FILE_LOCK

fi

###############################################################################
# FINAL DEL MODULO DE DETECCIÓN DE DOBLE EJECUCIÓN ó EJECUCIONES FALLIDAS
###############################################################################

===============

คำแนะนำ:

บรรณาธิการ VI

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

ในคำอื่น ๆ Vi หรือ Vim เป็นโปรแกรมแก้ไขไฟล์ที่มีประโยชน์มากซึ่งให้ความยืดหยุ่นอย่างมากเมื่อแก้ไขสคริปต์แก้ไขไฟล์ข้อความท่ามกลางไฟล์ประเภทอื่น ๆ อีกมากมาย แต่เหนือสิ่งอื่นใดเมื่อเขียนโปรแกรม ในความคิดของฉันมันเป็นหนึ่งในเครื่องมือแก้ไขที่ดีที่สุดที่มีอยู่อย่างไรก็ตามตามปกติเมื่อผู้ใช้นาโนเริ่มใช้งานและเห็นวิธีการใช้งานที่แตกต่างกันมักจะเกิดขึ้นอย่างรุนแรง«ไม่ว่าพวกเขาจะรักหรือเกลียดก็ตาม เดี๋ยวนี้”. ฉันคิดว่ามันคุ้มค่าที่จะเรียนรู้วิธีใช้!

แน่นอนว่าในตอนแรกอาจดูเหมือน โปรแกรมแก้ไขข้อความที่ไม่เป็นมิตร และด้วย เส้นโค้งการเรียนรู้ที่ยากมากแต่เมื่อเอาชนะได้โดยใช้ฟังก์ชันพื้นฐาน ผลผลิตเพิ่มขึ้นอย่างน่าทึ่ง

ก็เป็นความจริงเช่นกัน บรรณาธิการ vi มีหรือทำงานกับ ทางลัดที่ยาก และไม่มีเมนูหรือปุ่ม. ทุกอย่างเสร็จสิ้น คำสั่งและทางลัดที่เป็นลำดับของตัวอักษรและสัญญาณ. และนี่เป็นเรื่องที่น่าผิดหวังมากสำหรับผู้ใช้หลายคนที่ลืมหรือจำไม่ได้ง่ายๆอย่างไรก็ตามมันใช้พื้นที่ดิสก์น้อยมากและมีอยู่ใน Linux หรือ Unix เกือบทั้งหมด และเนื่องจากเป็นโปรแกรมที่ทำงานในสภาพแวดล้อมแบบข้อความจึงมีประโยชน์สำหรับการเข้าถึงระยะไกลและการแก้ไขผ่านเทอร์มินัล ดังนั้นเราจะใช้ประโยชน์จากโพสต์สั้น ๆ นี้เพื่อทบทวนการใช้งานพื้นฐานตั้งแต่เริ่มต้นเพื่อลดความกลัวนั้นและดูว่าการเรียนรู้การใช้มันมีประโยชน์อย่างไร

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

El บรรณาธิการ vi มีสองโหมดการทำงาน:

  • โหมดแก้ไข: เพื่อเพิ่มข้อความลงในไฟล์
  • โหมดคำสั่ง: เพื่อป้อนคำสั่งที่ทำหน้าที่เฉพาะ

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

เพื่อยุติการดำเนินการของไฟล์ บรรณาธิการ vi สามารถใช้วิธีการต่างๆได้ตลอดเวลา โหมดคำสั่ง:

: q ->   ปิดตัวแก้ไขเมื่อไม่มีการเปลี่ยนแปลงใด ๆ กับไฟล์
: q! ->    ปิดตัวแก้ไขโดยทิ้งการเปลี่ยนแปลงในไฟล์
: wq ->   ปิดตัวแก้ไขบันทึกการเปลี่ยนแปลงในไฟล์

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

ในโหมดแก้ไข: เมื่อ บรรณาธิการ viเริ่มต้นในไฟล์ โหมดคำสั่งดังนั้นก่อนที่คุณจะทำได้ เพิ่มแก้ไขหรือลบข้อความภายในไฟล์ คุณต้องพิมพ์หนึ่งในคำสั่งอินพุตของ บรรณาธิการ viเช่น "ฉัน" (แทรก)เพื่อแทรกข้อความที่ตำแหน่งเคอร์เซอร์ปัจจุบันหรือ "A" (ต่อท้าย) เพื่อแทรกข้อความหลังตำแหน่งเคอร์เซอร์ปัจจุบัน เพื่อกลับไปที่ โหมดคำสั่งเพียงแค่กดปุ่ม "Esc". ถ้าอยู่ใน ช่วงเวลา X คุณไม่รู้ว่าคุณอยู่ในโหมดใดเพียงแค่กดปุ่ม "Esc" หนึ่งทำให้แน่ใจว่าเขาอยู่ใน โหมดคำสั่งและคุณสามารถกลับไปทำงานต่อได้

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

คำสั่งหลักของบรรณาธิการ VI

คำสั่งหลักของ บรรณาธิการ viตามประโยชน์ของพวกเขาเมื่อแก้ไขเอกสารคือ:

01.- ย้ายภายในไฟล์
02.- เพิ่มข้อความ
03.- แก้ไขข้อความ
04.- เลิกทำการแก้ไข
05.- ลบข้อความ
06.- ย้ายและ / หรือคัดลอกข้อความ
07.- ดำเนินการคำสั่งในโหมด EX
08.- ค้นหาและเปลี่ยน
09.- การถ่ายโอนเนื้อหาจากไฟล์หนึ่งไปยังอีกไฟล์หนึ่ง
10.- แก้ไขไฟล์พร้อมกัน

สำคัญ: คำสั่งของ บรรณาธิการ vi สามารถนำหน้าด้วยตัวนับที่ระบุว่าควรทำซ้ำการดำเนินการกี่ครั้ง ตัวอย่างเช่น 3dd ลบ 3 บรรทัด 2dw ลบ 2 คำและ 4x ลบ 4 อักขระ นอกจากนี้ยังสามารถใช้ตัวนับสำหรับคำสั่งเพื่อเลื่อนไปรอบ ๆ หน้าจอได้เช่นกัน 3w o 2Ctrl-F กด a "." การดำเนินการล่าสุดทำซ้ำ ตัวอย่างเช่นหากเส้นถูกลบและการดำเนินการต่อไปคือการลบบรรทัดเพียงแค่กด ".".

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

อย่างไรก็ตามสำหรับข้อมูลเพิ่มเติมคุณสามารถค้นหาทางอินเทอร์เน็ต (Google หรือ Youtube) ข้อมูลที่เกี่ยวข้องกับ Editor vi ซึ่งมีมากมายและมากมายในวรรณกรรมและการสนับสนุน

อย่างไรก็ตามฉันปล่อยให้คุณนี้ CHEAT SHEET (แผ่นโกง) ซึ่งจะมีประโยชน์มากในการเริ่มต้นใช้งานไฟล์ บรรณาธิการ vi

select3b3n_002

select3b3n_001

ต่อไปในโพสต์ในอนาคตเราจะยังคงเห็นตัวอย่างของ โมดูล (ส่วน) ที่ทำหน้าที่เช่น:

  • โมดูลการเพิ่มประสิทธิภาพ
  • โมดูลการอนุญาตของผู้ใช้ด้วยรหัสผ่าน
  • โมดูลการตรวจจับสถาปัตยกรรมของระบบปฏิบัติการ
  • โมดูลการกำหนดค่าภาษาการเข้ารหัส
  • โมดูลการกำหนดค่าพร็อกซีสำหรับสภาพแวดล้อมการดำเนินการ

ท่ามกลางคนอื่น ๆ อีกมากมาย!

และเช่นเคยฉันขอแนะนำ ไปเรียนรู้ด้วยตนเอง เกี่ยวกับคำสั่ง: gksu, โต้ตอบ, gxmessage, zenity, espeak, playและอื่น ๆ อีกมากมาย เพื่อสร้างอินเทอร์เฟซแบบกราฟิกโดย Terminal หรือสำหรับเดสก์ท็อปของผู้ใช้พร้อมการแจ้งเตือนด้วยเสียงหรือมัลติมีเดียและความรู้ล่วงหน้าที่จะใช้ในภายหลัง

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

เพียงเพื่อจบฉันปล่อยให้คุณ Screencast สร้างโดยฉันเพื่อแสดงให้คุณเห็นว่าคุณสามารถทำอะไรได้บ้างหลังจากทำสิ่งนี้เสร็จ หลักสูตรออนไลน์ Shell Scripting ใน DesdeLinux:

LPI-SB8 ทดสอบ ScreenCast

(LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0) - ส่วนที่ 2


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา