Shell Scripting - Part 4 kullanarak programınızı adım adım oluşturun

Bu yayın dizisindeki önceki girişlerde, aşağıdakilerin nasıl uygulanacağını hatırladık:

Kabuk Betiği

Ve öncekilerde, bir Shebang ve bir BSM (Katı Sıkı Modu / Katı Darbe Modu).

GNU / Linux'ta bir Kabuk Komut Dosyası oluşturmak için en iyi uygulamalar - Bölüm 1

GNU / Linux'ta bir Kabuk Komut Dosyası oluşturmak için en iyi uygulamalar - Bölüm 2

İşte bir örnek Optimizasyon modülüörnek olarak benim programlar (uygulamalar) gerçekler Kabuk betiği denilen Linux Sonrası Yükleme - Bicentennial Script 8.0:

Bu modül olmalı (bölüm) aynı şeyin düzgün çalışması için gerekli temel paketleri kurmak veya Çalışma Ortamının veya İşletim Sisteminin güncellenmesi, bakımı veya performansı için gereken minimum eylemleri gerçekleştirmek, böylece her şey tatmin edici bir şekilde çalışır. Bu modülü oluşturmak için şahsen aşağıdaki satırları ekliyorum:


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

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

Gördüğünüz gibi, bu modül bir yetenek güncellemesive ardından paketlerin kurulumu iletişim gxmessage zenity espeak gksu, komut emirlerine devam yetenek yükleme -f y dpkg --configure -a. Ve ancak ve ancak her şeyin tatmin edici bir şekilde yürütülmesi durumunda, görsel mesaj terminal ile ile başarılı bir şekilde tamamlanma sonik uyarı ve bir sonraki adımla (modül / bölüm) devam ettim Kabuk betiği. Aksi takdirde, bir görsel mesaj terminal ile başarısız gerçekleşme sonik uyarı, diğeriyle birlikte tekrar elde edilen hatayı önlemek için uygulanacak manuel eylemleri öneren terminal tarafından görsel mesaj, ve daha sonra Kabuk betiği.

Modülün son 2 satırı ile ilgili olarakile başlayanlar wget komutu, şimdilik bunlar gerekli değil, çünkü bunlar bir deneysel prosedür benim tarafımdan uyarlandı ve bir Kabuk betiği internet bağlantısı ile Google Çeviri'den çevrimiçi ses sentezleyici ve şehvetli kadın sesive böylece değiştirin robotik sesli sentezleyici (erkek / kadın) GNU / Linux İşletim Sistemleri tarafından paketlerle (programlar) birlikte yerel olarak sağlanır espeak, festival, festvox, mbrola, konuşma ve stardict.

Tavsiye:

BELGEYİ OKUYUN: «KATEDRAL VE PAZAR»

Katedral ve Çarşı tarafından oluşturulan bir tür manifesto Eric S. Raymond yıl 1.998 kendi bakış açınızdan ve kişisel deneyimlerinizden açıklamaya çalışmak (programın oluşturulması fetchmail) Linux ve ilgili programların başarılı bir şekilde oluşturulması ve evrimi hakkında, özellikle de arasındaki fark açısından Yazılım Geliştirme Modellerişahsen aradığı: Katedral Modeli ve Çarşı Modeli.

Bu belgenin özet analizi şu şekildedir:

Bu okuma, dünyanın içinde İngilizce Yazılım “tamamen farklı iki geliştirme stili vardır, katedral modeli, dünyada gerçekleştirilen gelişmelerin çoğu için geçerlidir. Ticari yazılım, önünde çarşı modeli, daha tipik bir dünya Linux ". Bu 2 modelin, yazılım hata ayıklama sürecinin doğası üzerine zıt başlangıç ​​noktalarından ve onun ne dediğiyle ilgili özel teorisinden türetildiğini vurgulayarak Linus kanunu aşağıdakileri belirtti: "Yeterli sayıda göz verildiğinde, tüm hatalar önemsizdir" veya başka bir deyişle: "Yeterli sayıda gözle, tüm hatalar önemsizdir."

Ayrıca bu okumada yazar kelimeyi vurgular. Hacker, bence yazar bir tür olarak ifade etti Bir programı verimli bir şekilde anlayabilen ve kullanabilen ve tüm kullanıcı topluluğu için verimli biçim ve özün düzeltmelerini veya değişikliklerini tespit etme, önerme veya uygulama becerisine sahip üst düzey kullanıcı. Doğru olduğunu düşündüğüm için kendi önerdiğim bu kavramı çok beğendim, ancak çok daha genel ve / veya genel olduğu için de çok sevdiğim bir tanesini bırakacağım.

Hacker

"Linux yıkıcıdır." Neden? Bu okumanın bize söylediği ilk şey şudur:

O zamana kadar, standartlaştırılmış Yazılım Geliştirme yöntemlerinin veya modellerinin büyük bir çeşitliliği vardı. "Başlangıçtan itibaren daha merkezi ve planlı bir yaklaşım" Yazılım tasarlama eyleminin bir sonucu olarak, bir x faktörü bu şuna sebebiyet verir "Bazı kritik karmaşıklıklar." Ve bunun zaten var olmasına rağmen Unix dünyasıDiğer bir deyişle, küçük araçlar, hızlı prototip geliştirme ve evrimsel programlamadan oluşan çalışma, Linux altında Özgür Yazılım geliştirme felsefesinin ortaya çıkışı, konuyu başka bir karmaşıklık düzeyine taşıdı.

Bunun bir sonucu olarak, Özel Yazılım Geliştirme yapıldı "Sessiz ve saygılı yol", inşa ederken Katedral, Özgür Yazılım Geliştirme (Linux) "dan yapılmıştırhareketli bir yol ve birden fazla gündem (yol) ve yaklaşım (teklif) ile "tıpkı harika olduğun gibi Bazar.

Son olarak, Özgür Yazılım Kullanıcıları Topluluğu için geliştirenleri anlamak için, parçalanmaya ve uygun bağlamlarında sindirilmeye değer bir dizi öncülü ortaya çıkarır. Bu tesisler:

  1. YAZILIMDAKİ TÜM İYİ İŞLER PROGRAMLAMADAN KİŞİSEL BİR SORUNU LÜTFEN ÇALIŞTIRMAYA BAŞLAR.
  2. İYİ PROGRAMCILAR NE YAZACAKLARINI BİLİYOR. NEYİN YENİDEN YAZILACAĞI (VE YENİDEN KULLANILACAĞI) EN BÜYÜK BİLGİ.
  3. EN AZ BİRİNDE İMHA ETMEYİ DÜŞÜNÜN: HER ZAMAN BUNU YAPMAYA SON VERECEKSİNİZ. "
  4. DOĞRU TUTUM EĞERSENİZ, İLGİNÇ SORUNLAR SİZİ BULACAKTIR.
  5. BİR PROGRAM SİZİ ARTIK DAHA İLGİNÇLEŞTİRMEDİĞİNDE, SON GÖREVİNİZ BU YETKİLİ BİR BAŞARINA GEÇMEKTİR.
  6. KULLANICILARINIZA İŞBİRLİKÇİ OLARAK TEDAVİ ETMEK, BİR PROGRAMI HIZLI İYİLEŞTİRMENİN VE ETKİLİ BİR ŞEKİLDE HATA GİDERMENİN EN DAHA KOMPLİKASYONLU YOLIDIR.
  7. YAKINDA YAYIN. SIKLIKLA BAŞLATIN. VE KULLANICILARINIZI DİNLEYİN.
  8. GENİŞ BİR TEST CİHAZI VE KATKIDA BULUNAN TABAN VERİLDİĞİNDE, NEREDEYSE TÜM PROBLEMLER HIZLI BİR ŞEKİLDE TANIMLANACAK VE ÇÖZÜMLERİ BİRİNE ANLAŞILACAKTIR.

Artı diğer ayıltıcı tipte kalan diğer 11 bina (ahlaki)hikayeyle değil, her birinin yorumladığı şeyle birlikte gelir. okuyucu (geliştirici), bu benim çok özel durumumda beni şu sonuçlara götürdü:

Sonuçlar

Umarım beğenmişsindir ve bu bilgi yararlıdır, çünkü Katedralin ve Çarşının Okuması, ne kadar büyük veya küçük olursa olsun, herhangi bir Özgür Yazılım Geliştirme programlayan herkes için zorunlu bir referanstır.

Daha sonra, gelecekteki yayınlarda bir örnek görmeye devam edeceğiz modüller (bölümler) aşağıdaki gibi işlevleri yerine getiren:

  • ŞİFRELİ KULLANICI YETKİ MODÜLÜ
  • İŞLETİM SİSTEMİ MİMARİSİNİN TESPİT MODÜLÜ
  • KODLAMA DİLİ KONFİGÜRASYON MODÜLÜ
  • UYGULAMA ORTAMI İÇİN PROXY KONFİGÜRASYON MODÜLÜ

Diğerlerinin yanı sıra!

Ve her zamanki gibi tavsiye ederim kendi kendine öğretilen bir şekilde öğrenmeye git komutlar hakkında: gksu, diyalog, gxmessage, zenity, espeak, playdiğerleri arasında Sonik veya multimedya uyarıları ile Terminal veya Kullanıcı Masaüstü için grafik arayüzler oluşturmak içinve daha sonra kullanacakları bilgileri ilerletmek.

Unutmayın, bunlar ve bazı diğer öneriler modül, işlev, değişken, komut veya eylem genel olarak yapılabilir çok şekildeve burada gösterilen yalnızca bir basit yol, of birçok olası ve olası yol içinde söyledi eylem yapılabilir veya gerçekleştirilebilir!

Sadece bitirmek için senden ayrılıyorum Benim tarafımdan yapılan ekran video kaydı, bunu bitirdikten sonra neler yapabileceğinizi size göstermek için Shell Scripting çevrimiçi kursu DesdeLinux:

LPI-SB8 Test Ekranı

(LINUX POST INSTALL - BICENTENNIAL SCRIPT 8.0.0) - Bölüm 2


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.