使用Shell腳本逐步構建程序-第4部分

在本系列出版物的以前的文章中,我們回顧瞭如何實現:

Shell Scripting

在之前的文章中,如何實施 Shebang和BSM(嚴格Bash模式/嚴格Bash模式)。

在GNU / Linux中創建Shell腳本的最佳實踐-第1部分

在GNU / Linux中創建Shell腳本的最佳實踐-第2部分

這是一個例子 優化模塊,以我的一個 程序(應用程序) 事實 Shell腳本Linux安裝後-Bicentennial Script 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。 並且,當且僅當所有事情都令人滿意地執行了, 視覺訊息 通過終端 成功完成的 聲音警報 我繼續下一步的(模塊/部分) Shell腳本。 否則, 視覺訊息 通過終端 實現失敗的原因 聲音警報, 和另外一個 終端發出的視覺消息,建議執行手動操作以避免再次發生錯誤, 然後完成執行 Shell腳本。

關於模塊的最後兩行,以 wget命令,目前這些並不是必需的,因為它們是 實驗程序 由我改編,以實現 Shell腳本 與互聯網連接使用 Google Translate的在線語音合成器和她性感的女性聲音,然後替換 機器人聲音合成器(男/女) 由GNU / Linux操作系統在本地提供的軟件包(程序) espeak,節日,festvox,mbrola,演講和stardict。

推薦:

閱讀文檔: «大教堂和巴扎爾»

大教堂和集市 是一種由 埃里克·雷蒙德 在這一年 1.998 嘗試從您的觀點和個人經驗進行解釋(創建程序 提取郵件)他對Linux及其相關程序的成功創建和發展有何看法,尤其是從 軟件開發模型,他個人稱為: 大教堂模型和集市模型.

我對該文件的總結分析如下:

這種閱讀暗示或呈現了在世界範圍內 工程師軟件 有“兩種完全不同的發展風格, 大教堂模型,適用於世界範圍內進行的大多數開發 商業軟件, 在...前面 集市模型,更典型的世界 Linux。 強調這兩個模型是從軟件調試過程的本質的相反出發點以及他關於他所說的特定理論得出的 萊納斯定律 其中指出: “只要有足夠多的眼睛,所有錯誤都是不相關的” 或者換句話說: “有足夠多的眼睛,所有的錯誤都是瑣事。”

同樣在這篇閱讀中作者強調了這個詞 黑客,我認為作者表示為一種 高級用戶,能夠有效地理解和利用程序,並能夠檢測,建議或實施對整個用戶社區有效形式和內容的更正或修改。。 我非常喜歡這個自我建議的概念,因為我認為它是正確的,但是,我會留下一個我也很喜歡的概念,因為它更俱全局性和/或通用性。

黑客

“ Linux是顛覆性的。” 為什麼? 該閱讀告訴我們的第一件事是:

在此之前,存在著各種各樣的基於 “從一開始就更加集中和計劃的方法” 由於設計軟件的行為被視為與 X因子 導致 “一些關鍵的複雜性。” 而且儘管事實已經存在於 Unix世界換句話說,由小工具組成的工作,快速的原型開發和漸進式編程,以及Linux下自由軟件開發理念的出現,使問題進一步發展。

結果,雖然 私人軟件開發 由...製成 “安靜而崇敬的方式”,當您建立一個 大教堂中, 自由軟件開發(Linux) 由“繁華的方式並具有多個議程(路徑)和方法(建議)”,就像你在一個偉大的 義賣會.

最後,它揭露了一系列值得在適當背景下進行分解和總結的前提,以了解為自由軟件社區用戶開發的前提。 這些前提是:

  1. 該軟件中的所有好作業都開始嘗試從您計劃它們的過程中遇到個人問題。
  2. 好程序員知道要寫什麼。 最偉大的知道什麼要重寫(和重用)。
  3. 關於至少一次處置的思考:無論如何,您最終都會這樣做。”
  4. 如果您有正確的態度,就會發現有趣的問題。
  5. 當程序不再引起您的興趣時,您的最後職責就是將其傳遞給有能力的成功者。
  6. 快速改善和有效調試程序的複雜方式少之又少。
  7. 盡快發布。 經常發射。 並聆聽您的用戶。
  8. 考慮到測試人員和貢獻者的廣泛基礎,幾乎所有問題都將得到快速識別,並且對於某些人來說,其解決方案將是顯而易見的。

再加上其餘11個處境更加清醒(道德)的處所,不是故事本身,而是每個人的解釋 讀者(開發人員),在我的特殊情況下,導致我得出以下結論:

結論

希望您喜歡它,並且該信息對您有所幫助,因為 《大教堂和集市》的閱讀對於所有編寫任何免費軟件程序的人(無論大小)都必須參考。

稍後,在以後的文章中,我們將繼續看到以下示例 模塊(部分) 執行以下功能:

  • 帶有密碼的用戶授權模塊
  • 檢測操作系統體系結構的模塊
  • 編碼語言配置模塊
  • 執行環境的代理配置模塊

除其他外!

和往常一樣,我建議 以自學成才的方式學習 關於命令: gksu,對話,gxmessage,zenity,espeak,播放等等 通過終端或用戶桌面創建圖形界面,並帶有聲音或多媒體警報,並提高知識,供以後使用。

請記住,這些以及其他一些建議 模塊,功能,變量,命令或動作 通常可以進行 很多種方法,這裡顯示的只是一個 簡單的方法許多可能和可能的方式 在其中說 可以或可以採取行動!

為了結束我離開你, 我進行的截屏完成後,向您展示您的能力 Shell 腳本線上課程 DesdeLinux:

LPI-SB8測試ScreenCast

(LINUX POST安裝-百年紀念腳本8.0.0)-第2部分


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。