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

ในรายการก่อนหน้านี้ในสิ่งพิมพ์ชุดนี้เราได้นึกถึงวิธีการนำ 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 OPTIMIZACIÓN AL LINUX POST INSTALL - SCRIPT BICENTENARIO               
###############################################################################

# Sección que instala los paquetes bases del LPI-SB

echo -e '\a'

apt update && apt install dialog gxmessage zenity espeak gksu -y && apt install -f && dpkg --configure -a

if [ $? = 0 ]; then

     echo ""
     echo ""
     echo "#--------------------------------------------------------#"
     echo "#LA INSTALACIÓN DE LOS PAQUETES HA CULMINADO EXITOSAMENTE#"
     echo "#--------------------------------------------------------#"
     echo ""
     echo ""

     play /usr/share/sounds/info.wav 2> /dev/null

     sleep 3
     clear

else

     echo ''
     echo ''
     echo '#--------------------------------------------------------#'
     echo '# LA INSTALACIÓN DE LOS PAQUETES NO CULMINO EXITOSAMENTE #'
     echo '#--------------------------------------------------------#'
     echo ''
     echo ''

     play /usr/share/sounds/warning.wav 2> /dev/null

     sleep 3
     clear

     echo ''
     echo ''
     echo '#--------------------------------------------------------#'
     echo '#                  EJECUTE MANUALMENTE                   #'
     echo '# UN MANTENIMIENTO PREVENTIVO Y CORRECTIVO EN SU SISTEMA #'
     echo '#   EJECUTANDO LA SIGUIENTES ORDEN DE COMANDO, 1 HA 1:   #'
     echo '#                                                        #'
     echo '#                       apt update                       #'
     echo '#                     apt install -f                     #'
     echo '#                   dpkg --configure -a                  #'
     echo '#                       apt upgrade                      #'
     echo '#                                                        #'
     echo '#   LUEGO INSTALE MANUALMENTE LOS PAQUETES NECESARIOS    #'
     echo '#         CON LA ORDEN DE COMANDO SIGUIENTE:             #'
     echo '#                                                        #'
     echo '#      apt install dialog gxmessage zenity espeak -y     #'
     echo '#                                                        #'
     echo '#  AHORA, VUELVA HA INTENTAR EJECUTAR EL SCRIPT LPI-SB   #'
     echo '#--------------------------------------------------------#'
     echo ''
     echo ''

     sleep 3
     clear

     play /usr/share/sounds/info.wav 2> /dev/null

     exit 0

fi

wget -o /dev/null --user-agent="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36" -O "/tmp/audio.mp3" "https://translate.google.co.ve/translate_tts?ie=UTF-8&q=BIENVENIDO%20AL%20LINUX%20POST%20INSTALL%20-%20SCRIPT%20BICENTENARIO&tl=es&total=1&idx=0&textlen=54&tk=511133.124198&client=t&prev=input&ttsspeed=0.24" ; play -q /tmp/audio.mp3

wget -o /dev/null --user-agent="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36" -O "/tmp/audio.mp3" "https://translate.google.co.ve/translate_tts?ie=UTF-8&q=ESTIMADO%20USUARIO%2C%20ESPERE%20UNOS%20SEGUNDOS%20MIENTRAS%20EL%20PROGRAMA%20SE%20CARGA%20E%20INICIA&tl=es&total=1&idx=0&textlen=77&tk=337132.200023&client=t&prev=input" ; play -q /tmp/audio.mp3

###############################################################################
# FINAL DEL MODULO DE OPTIMIZACIÓN AL LINUX POST INSTALL - SCRIPT BICENTENARIO               
###############################################################################

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

อย่างที่คุณเห็นโมดูลนี้เรียกใช้ไฟล์ อัพเดทความถนัดตามด้วยการติดตั้งแพ็คเกจ ไดอะล็อก gxmessage zenity espeak gksuดำเนินการต่อด้วยคำสั่งคำสั่ง ความถนัดในการติดตั้ง -f y dpkg - กำหนดค่า -a. และในกรณีที่หากทุกอย่างดำเนินการเป็นที่น่าพอใจก ข้อความภาพ โดยเทอร์มินัล ของการทำสำเร็จด้วย การแจ้งเตือนด้วยเสียง และฉันดำเนินการต่อในขั้นตอนต่อไป (โมดูล / ส่วน) ของไฟล์ เชลล์สคริปต์ มิฉะนั้นก ข้อความภาพ โดยเทอร์มินัล ของการรับรู้ที่ไม่ประสบความสำเร็จด้วยก การแจ้งเตือนด้วยเสียงกับอีกอัน ข้อความภาพโดยเทอร์มินัลแนะนำให้ดำเนินการด้วยตนเองเพื่อหลีกเลี่ยงข้อผิดพลาดที่เกิดขึ้นอีกครั้ง แล้วเสร็จสิ้นการดำเนินการของไฟล์ เชลล์สคริปต์

เกี่ยวกับ 2 บรรทัดสุดท้ายของโมดูลซึ่งขึ้นต้นด้วย คำสั่ง wgetสำหรับตอนนี้สิ่งเหล่านี้ไม่จำเป็นเนื่องจากเป็นส่วนหนึ่งของไฟล์ ขั้นตอนการทดลอง ดัดแปลงโดยฉันเพื่อให้ได้เสียงสนับสนุนของไฟล์ เชลล์สคริปต์ ด้วยการเชื่อมต่ออินเทอร์เน็ตโดยใช้ไฟล์ เครื่องสังเคราะห์เสียงออนไลน์จาก Google Translate และเสียงผู้หญิงที่เย้ายวนของเธอและแทนที่ไฟล์ ซินธิไซเซอร์พร้อมเสียงหุ่นยนต์ (ชาย / หญิง) จัดทำโดยระบบปฏิบัติการ GNU / Linux พร้อมแพ็คเกจ (โปรแกรม) espeak, เทศกาล, festvox, mbrola, คำพูดและ stardict

คำแนะนำ:

อ่านเอกสาร: « CATHEDRAL และ BAZAR »

มหาวิหารและบาซาร์ เป็นรายการที่สร้างขึ้นโดย เอริคเอสเรย์มอนด์ ในปี 1.998 พยายามอธิบายจากมุมมองและประสบการณ์ส่วนตัวของคุณ (การสร้างโปรแกรม fetchmail) สิ่งที่เขารับรู้เกี่ยวกับการสร้างและวิวัฒนาการที่ประสบความสำเร็จของ Linux และโปรแกรมที่เกี่ยวข้องโดยเฉพาะจากมุมมองของความแตกต่างระหว่างไฟล์ แบบจำลองการพัฒนาซอฟต์แวร์ซึ่งเขาเรียกเป็นการส่วนตัวว่า: แบบจำลองมหาวิหารและแบบจำลองบาซาร์.

การวิเคราะห์โดยสรุปของฉันเกี่ยวกับเอกสารนั้นมีดังนี้:

การอ่านนี้แนะนำหรือนำเสนอวิสัยทัศน์ที่อยู่ในโลกของ ซอฟต์แวร์Ingeniería del มี“ รูปแบบการพัฒนาสองรูปแบบที่แตกต่างกันโดยสิ้นเชิง แบบจำลองมหาวิหารใช้ได้กับการพัฒนาส่วนใหญ่ที่ดำเนินการในโลกของ ซอฟต์แวร์เชิงพาณิชย์ด้านหน้า แบบจำลองตลาดสดตามแบบฉบับของโลก ลินุกซ์ ". โดยเน้นว่าทั้ง 2 โมเดลนี้ได้มาจากจุดเริ่มต้นที่ตรงกันข้ามกับลักษณะของกระบวนการดีบักซอฟต์แวร์และจากทฤษฎีเฉพาะของเขาเกี่ยวกับสิ่งที่เขาเรียกว่า กฎของ Linus ซึ่งระบุดังต่อไปนี้: "ด้วยจำนวนตาที่เพียงพอข้อผิดพลาดทั้งหมดไม่เกี่ยวข้อง" หรือกล่าวอีกนัยหนึ่ง: "ด้วยจำนวนตาที่เพียงพอความผิดพลาดทั้งหมดจึงเป็นเรื่องเล็กน้อย"

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

แฮ็กเกอร์

"Linux ถูกโค่นล้ม" ทำไม? สิ่งแรกที่การอ่านนี้บอกเราคือ:

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

ด้วยเหตุนี้ในขณะที่ การพัฒนาซอฟต์แวร์ส่วนตัว ทำมาจาก "ทางเงียบและคารวะ"ในขณะที่คุณสร้างไฟล์ โบสถ์ใหญ่, การพัฒนาซอฟต์แวร์ฟรี (Linux) ทำจาก "วิธีที่คึกคักและมีหลายวาระ (เส้นทาง) และแนวทาง (ข้อเสนอ)”เช่นเดียวกับที่คุณอยู่ในสถานการณ์ที่ยอดเยี่ยม Bazar.

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

  1. งานที่ดีทั้งหมดในซอฟต์แวร์เริ่มต้นพยายามที่จะแก้ไขปัญหาส่วนบุคคลจากสิ่งที่คุณกำหนดไว้
  2. นักเขียนโปรแกรมที่ดีรู้ว่าต้องเขียนอะไร สิ่งที่ดีที่สุดรู้ว่าจะรีไรท์ใหม่ (และใช้ซ้ำ)
  3. คิดเกี่ยวกับการทิ้งอย่างน้อยหนึ่งครั้ง: คุณจะต้องทำมันไม่ว่าอย่างไรก็ตาม "
  4. หากคุณมีทัศนคติที่ถูกต้องปัญหาที่น่าสนใจจะพบคุณ
  5. เมื่อโปรแกรมไม่สนใจคุณอีกต่อไปหน้าที่สุดท้ายของคุณคือการส่งต่อไปยังผู้ประสบความสำเร็จที่มีศักยภาพ
  6. การปฏิบัติต่อผู้ใช้ของคุณในฐานะผู้ทำงานร่วมกันเป็นวิธีที่ไม่ซับซ้อนในการปรับปรุงอย่างรวดเร็วและมีประสิทธิภาพในการแก้ปัญหาโปรแกรม
  7. ปล่อยเร็ว ๆ นี้ เปิดตัวบ่อยครั้ง และรับฟังผู้ใช้ของคุณ
  8. ให้ผู้ทดสอบและผู้ทำงานร่วมกันเป็นฐานอย่างกว้างขวางเกือบทั้งหมดปัญหาส่วนใหญ่จะได้รับการระบุอย่างรวดเร็วและแนวทางแก้ไขของพวกเขาจะเป็นอันตรายต่อใครบางคน

รวมทั้งสถานที่อื่น ๆ อีก 11 แห่งที่เหลืออยู่ซึ่งเป็นประเภทที่มีสติมากขึ้น (ทางศีลธรรม)ซึ่งไม่ได้มาพร้อมกับเรื่องราว แต่มีการตีความโดยแต่ละคน ผู้อ่าน (ผู้พัฒนา)ซึ่งในกรณีเฉพาะของฉันทำให้ฉันได้ข้อสรุปต่อไปนี้:

สรุปผลการวิจัย

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

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

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

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

และเช่นเคยฉันขอแนะนำ ไปเรียนรู้ด้วยตนเอง เกี่ยวกับคำสั่ง: 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. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา