十年網站開發(fā)經驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網站問題一站解決
bash的腳本初步

shell腳本:另外一種歷史命令的保持形式;
shell腳本編程:
什么叫編程?
編寫程序源代碼。
為了能夠讓用戶在使用計算機的時候,可以讓計算機以非交互式的方式完成某些任務,需要將這些任務編制稱為一個文件,讓計算機順序讀取,從而實現(xiàn)功能;
編程語言:
高級語言:
根據源代碼的處理方式:
編譯運行語言:
源代碼 --> 編譯器(編譯)--> 匯編器(匯編)--> 鏈接器(庫的鏈接)--> 可以直接執(zhí)行的二進制文件;
解釋運行語言:
源代碼 --> 直接啟動跟源代碼對應的解釋器程序,由解釋器邊解釋邊執(zhí)行;
根據其編程過程中的功能的實現(xiàn)是調用庫還是調用外部程序文件:
完整編程語言:
利用庫或編程組件進程編程;
腳本程序語言:
解釋器
shell腳本:調用shell程序,其次調用需要的外部命令文件;命令解釋器
shell提供了單一功能的編程接口:過程式編程邏輯的支持;
根據程序的編寫模式:程序=指令+數據
過程式編程語言:
以指令為中心,圍繞指令(算法)的實現(xiàn)設計數據和數據結構,數據為指令服務器的;
算發(fā)或指令的實現(xiàn)形式:
順序執(zhí)行
選擇執(zhí)行
循環(huán)執(zhí)行
對象式編程語言:
以數據為中心,將數據實例化為類,圍繞著數據的需求來部署指令
類、屬性、方法
低級語言:
匯編語言:
shell腳本編程
過程式編程語言,解釋運行,依賴于外部程序文件運行;
shell腳本到底是什么?
1.純文本文檔——文件中所儲存的數據都是以字符為單位進行存儲的;
2.根據用戶的需求來解決用戶問題的大量命令的組合體;
3.“執(zhí)行冪等性”——任何命令多次執(zhí)行的結果是一致的;
很多命令都不具備“執(zhí)行冪等性”,在shell腳本中就需要使用大量的程序邏輯來判斷某個命令是否滿足其運行條件,以避免在運行過程中出現(xiàn)嚴重錯誤;
shell腳本中的代碼內容
1.首行必須是shebang,解釋器路徑,必須占據絕對行首;在執(zhí)行時,啟動相應的解釋器以解釋腳本內諸多的命令;
#!/bing/bash
#!/bing/sh
#!/usr/bin/python
#!/usr/bin/per1
2.在shell腳本中,除了shebang之外,以#占據絕對行首的內容,均為注釋行;解釋器會忽略這樣的行的內容;
3.解釋會忽略腳本中所有的空白行;
4.大量的命令和關鍵字(if,else,then,do,while,for,...)
注意:shell腳本一旦運行,是在當前shell中根據shebang的指示,開啟一個解釋器(子shell)解釋執(zhí)行代碼內容,shell腳本的內容是在一個子shell進程中實現(xiàn)的;
我們可以利用文本編輯工具來編寫shell腳本;
nano、vi、vim、emacs、pico
推薦使用vim
約定下,腳本文件名的后綴為.sh,也可以不加;
腳本的運行方法:
1.為腳本文件賦予執(zhí)行權限,直接運行此文件;
chmod +x /path/to/script_file
~]# /path/to/script_file
如果在執(zhí)行腳本時,只寫腳本文件名不給出路徑的話,必須確保path變量中保存的路徑下,能找到該腳本文件;
2.直接使用解釋器運行腳本,將腳本作為解釋器命令的參數;
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。