Bangun program anda langkah demi langkah menggunakan Shell Scripting - Bahagian 4

Dalam entri sebelumnya dalam siri penerbitan ini, kami mengingat bagaimana melaksanakan:

Shell Scripting

Dan yang sebelumnya, bagaimana melaksanakan a Shebang dan BSM (Mode Strict Bash / Strict Bash Mode)

Amalan terbaik untuk membuat Skrip Shell di GNU / Linux - Bahagian 1

Amalan terbaik untuk membuat Skrip Shell di GNU / Linux - Bahagian 2

Berikut adalah contoh a Modul pengoptimuman, mengambil sebagai contoh salah satu daripada saya program (aplikasi) fakta dalam a Skrip shell dipanggil Pemasangan Pasca Linux - Skrip Bicentennial 8.0:

Ini harus menjadi modul (bahagian) untuk memasang pakej asas yang diperlukan untuk fungsi yang sama, atau melaksanakan tindakan minimum yang diperlukan untuk pengemaskinian, penyelenggaraan atau prestasi Persekitaran Kerja atau Sistem Operasi sehingga selepas itu semuanya berjalan dengan memuaskan. Saya secara peribadi menambah baris berikut untuk membuat modul ini:


###############################################################################
# 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               
###############################################################################

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

Seperti yang anda lihat, modul ini menjalankan a kemas kini kebolehan, diikuti dengan pemasangan pakej dialog gxmessage zenity bercakap gksu, meneruskan perintah perintah pasang kebolehan -f y dpkg --configure -a. Dan sekiranya sekiranya dan hanya jika semuanya telah dilaksanakan dengan memuaskan, a mesej visual melalui terminal kejayaan berjaya dengan a amaran sonik dan saya teruskan dengan langkah seterusnya (modul / bahagian) dari Skrip shell. Jika tidak, a mesej visual melalui terminal kesedaran yang tidak berjaya dengan a amaran sonik, dengan yang lain mesej visual oleh terminal mengesyorkan tindakan manual dijalankan untuk mengelakkan kesalahan yang dicapai lagi, dan kemudian menyelesaikan pelaksanaan Skrip shell.

Mengenai 2 baris terakhir modul, yang bermula dengan perintah wget, buat masa ini ini tidak penting, kerana ini adalah sebahagian daripada prosedur eksperimen disesuaikan oleh saya untuk mencapai sokongan suara a Skrip shell dengan sambungan internet menggunakan Synthesizer suara dalam talian dari Terjemahan Google dan suara wanita sensualnya, dan dengan itu ganti synthesizer dengan suara robotik (lelaki / wanita) disediakan secara tempatan oleh Sistem Operasi GNU / Linux dengan pakej (program) espeak, festival, festvox, mbrola, ucapan dan stardict.

Syor:

BACA DOKUMEN: «KATEDIA DAN BAZAR»

Katedral dan Bazaar adalah sejenis manifesto yang dibuat oleh Eric S Raymond pada tahun ini 1.998 untuk cuba menjelaskan dari sudut pandangan dan pengalaman peribadi anda (Penciptaan program fetchmail) apa yang dia rasakan mengenai penciptaan dan evolusi Linux yang berjaya dan program-program yang berkaitan dengannya, terutama dari perspektif perbezaan antara Model Pembangunan Perisian, yang secara peribadi disebutnya: Model Katedral dan Model Bazaar.

Analisis ringkasan dokumen saya adalah seperti berikut:

Pembacaan ini menunjukkan atau memperlihatkan kepada kita visi yang terdapat dalam dunia Perisian Ingeniería del terdapat "dua gaya pembangunan yang sama sekali berbeza, model katedral, berlaku untuk kebanyakan perkembangan yang dilakukan di dunia Perisian komersial, di hadapan model bazar, lebih tipikal di dunia Linux ". Menekankan bahawa 2 model ini berasal dari titik awal yang bertentangan mengenai sifat proses penyahpepijatan perisian, dan dari teori tertentu mengenai apa yang disebutnya Undang-undang Linus yang menyatakan perkara berikut: "Mengingat jumlah mata yang mencukupi, semua kesalahan tidak relevan" atau dengan kata lain: "Dengan jumlah mata yang cukup, semua kesalahan adalah perkara kecil."

Juga dalam pembacaan ini penulis menekankan perkataan Hacker, yang pada pendapat saya penulis menyatakan sebagai sejenis Pengguna tahap tinggi yang mampu memahami dan memanfaatkan program dengan cekap, dan mengesan, mencadangkan atau melaksanakan pembetulan atau pengubahsuaian bentuk dan bahan yang efisien untuk seluruh komuniti pengguna. Saya sangat menyukai konsep yang dicadangkan sendiri ini kerana saya fikir ia betul, namun saya akan meninggalkan konsep yang sangat saya sukai kerana jauh lebih global dan / atau generik.

Hacker

"Linux subversif." Kenapa? Perkara pertama yang dibaca oleh pembaca ini ialah:

Sehingga masa itu terdapat banyak kaedah atau model Pengembangan Perisian standard yang berdasarkan pada a "Pendekatan yang lebih berpusat dan terancang dari awal" akibat daripada tindakan merancang Perisian diambil sebagai sesuatu yang berkaitan dengan a Faktor X yang membawa kepada "Beberapa kerumitan kritikal". Dan walaupun kenyataan bahawa ini sudah ada di Dunia unixDengan kata lain, kerja yang terdiri daripada alat kecil, pengembangan prototaip cepat dan pengaturcaraan evolusi, kemunculan falsafah pengembangan Perisian Percuma di Linux membawa masalah ini ke tahap kecanggihan yang lain.

Akibat daripada ini, Sementara Pembangunan Perisian Swasta diperbuat daripada "Cara diam dan hormat", semasa anda membina Catedral, The Pembangunan Perisian Percuma (Linux) dibuat dari "cara yang sibuk dan dengan pelbagai agenda (jalan) dan pendekatan (cadangan) ", sama seperti anda hebat bazar.

Akhirnya, ia memperlihatkan sejumlah premis yang patut dirobohkan dan dicerna dalam konteks yang tepat untuk memahami mereka yang membangun untuk Komuniti pengguna Perisian Percuma. Premis ini adalah:

  1. SEMUA KERJA-KERJA BAIK DALAM PERISIAN BERMULA MENCUBA UNTUK MEMILIH MASALAH PERIBADI DARI YANG ANDA PROGRAM MEREKA.
  2. PEMPROGRAM YANG BAIK TAHU APA YANG MENULIS. TAHU TERBESAR APA YANG DITULISKAN (DAN DIGUNAKAN).
  3. FIKIRKAN PELUPUSAN SETIAP SATU: ANDA AKAN AKHIRNYA MELAKUKANNYA. "
  4. JIKA ANDA MEMPUNYAI SIKAP YANG BENAR, MASALAH MENARIK AKAN MENCARI ANDA.
  5. APABILA PROGRAM TIDAK MENARIK MENARIK ANDA, TUGAS TERAKHIR ANDA MENGHASILKANNYA KEPADA PEMANTAU YANG BERKompeten.
  6. MENGHORMATI PENGGUNA ANDA SEBAGAI KOLABORATOR ADALAH CARA YANG KURANG DIPEROLEHI UNTUK MENINGKATKAN DAN MENGHASILKAN PROGRAM SECARA BERKESAN.
  7. SIARKAN SEGERA. PELANCARANNYA. DAN DAFTAR KEPADA PENGGUNA ANDA.
  8. MEMBERIKAN UJIAN LUAR BIASA YANG LEBIH LUAR BIASA, DAN HANYA SEMUA MASALAH AKAN DIKENALI CEPAT DAN PENYELESAIAN MEREKA AKAN DILARANG SESIAPA.

Ditambah lagi dengan 11 premis yang tinggal yang lebih banyak dari jenis serius (moral), yang tidak datang dengan cerita tetapi dengan apa yang ditafsirkan oleh masing-masing pembaca (pembangun), yang dalam kes saya yang sangat khusus, membawa saya ke kesimpulan berikut:

Kesimpulan

Saya harap anda menyukai dan mendapati maklumat ini berguna sejak Pembacaan Katedral dan Bazaar adalah rujukan wajib bagi semua pihak yang memprogram Pembangunan dalam Perisian Percuma, tidak kira besar atau kecil.

Kemudian, dalam catatan akan datang kita akan terus melihat contoh modul (bahagian) yang melaksanakan fungsi seperti:

  • MODUL KEBENARAN PENGGUNA DENGAN KATA LALUAN
  • MODUL PENETAPAN ARKITEK SISTEM OPERASI
  • MODUL KONFIGURASI BAHASA KOD
  • MODUL KONFIGURASI PROXY UNTUK PERSEKITARAN PELAKSANAAN

Antara lain!

Dan seperti biasa, saya cadangkan pergi belajar dengan cara yang diajar sendiri mengenai arahan: gksu, dialog, gxmessage, zenity, espeak, main, antara lain untuk membuat antara muka grafik dengan Terminal atau untuk Desktop Pengguna, dengan amaran sonik atau multimedia, dan memajukan pengetahuan yang akan mereka gunakan kemudian.

Ingat bahawa ini dan cadangan lain pada beberapa modul, fungsi, pemboleh ubah, arahan atau tindakan secara amnya dapat dijalankan banyak cara, dan apa yang ditunjukkan di sini hanyalah satu cara mudah, dari banyak cara yang mungkin dan mungkin di mana dikatakan tindakan boleh atau boleh dijalankan!

Selesai sahaja saya meninggalkan anda, a Screencast yang dibuat oleh saya, untuk menunjukkan kepada anda apa yang anda mampu, setelah menyelesaikan ini Kursus dalam talian Skrip Shell dalam DesdeLinux:

Skrin Skrin Ujian LPI-SB8

(PEMASANGAN LINUX POST - SCRIPT BICENTENARIO 8.0.0) - Bahagian 2


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.