我的第一次shell


我的第一次shell

最近我們的項目需要進行優化,整體架構進行改造。
然后我們紅超哥就看我骨骼驚奇,說小伙子你想不想當做掌門人呀。(我說不想哈哈)
想不想也沒用了,紅超哥說我們現在的架構有所改變,需要你寫一套自動部署腳本。(弱小的我沒有說出一個不字)

Shell可以干啥

  • 如果小伙伴們使用過Linux操作系統那肯定使用過shell命令,cdls 再或者你們一定看過 rm -rf xxxx 哈哈,這些其實都是我們的shell命令,我們將程序部署到系統上面去的時候每次都需要輸入一推命令,如果一天部署一個程序你還受得了,但是如果紅超哥一定要我部署50個程序。那當然我也不會說一個不字 ,但是我們經常會出現多打一個字母,少打一個字母的情況,當前一個兩個項目的工作量我還能接受,但是紅超哥說的50個程序部署,那我也能完成。但是為了早點下班,多摸魚。所以我們還是要弄自動化。

Shell是個啥

  • Shell 是一個用 C 語言編寫的程序,它是用戶使用 Linux 的橋梁。Shell 既是一種命令語言,又是一種程序設計語言。Shell 是指一種應用程序,這個應用程序提供了一個界面,用戶通過這個界面訪問操作系統內核的服務。Ken Thompson 的 sh 是第一種 Unix Shell,Windows Explorer 是一個典型的圖形界面 Shell。
  • 不管他三七二二的先把菜鳥教程文檔看一遍,你就已經是菜鳥了。然后就是編寫腳本測試腳本。一步一步進化成為大鵬叉燒

開搞之前

  • 所以我先將菜鳥教程文檔都看了一遍,然后在園子看了其他大佬寫的shell博文,先吸收一點經驗,減少一些沒必要的彎路(而且最近紅超哥也挺忙的,哈哈,雖然問紅超哥雖好,但是程序人生中該踩的坑,還是要踩) 推薦博文

搞搞

  • 因為寫自己寫的代碼肯定需要給別人看的,所以我們需要先定義這個腳本是干嘛的。(#!/bin/bash告訴系統使用shell那種核心執行腳本)

  • 日志信息一定要有。這個很重要,因為我們不像紅超哥一樣寫代碼一次過,所以我們還是需要使用日志記錄我們的信息。

  • 也可以更好的返回提示給執行腳本的人看到腳本執行情況。

  • 在我編寫的過程中會發現很多方法都是一樣的,作為碼農練習生的我肯定會想到封裝啦。

  • 然后我們的可以使用 . 或者source 進行包含外包shell腳本。

  • 如果我們在執行教程出現換行符報錯的問題我們可以通過 sed -i 's/\r$//' xxl.sh 進行轉換。

  • 或者將腳本字符格式進行修改LF格式就可以了。

  • 我們在執行腳本的時候如果出現權限不夠的是時候,我們可以使用 sudo sh xxx.sh 讓腳本提升一下權限。

  • 當我們的功能比較多的時候,盡量將功能封裝成為一個一個的方法。

總結

  • 這也是我第一次寫shell腳本,總結的一些經驗,后續還會持續補充一些自己的經驗。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM