shell程式設計開發應用指南

2021-09-04 10:01:42 字數 3198 閱讀 3162

目錄:1.1 shell指令碼簡介 4

1.1.1什麼是shell? 4

1.1.2什麼是shell指令碼? 4

1.1.3 shell程式在運維工作的作用地位? 5

1.1.4指令碼語言的種類 6

1.1.4.1 shell指令碼語言的種類 6

1.1.4.2其他運維人員常用指令碼語言 6

1.1.5常用作業系統預設shell 7

1.1.6 shell指令碼的建立和執行 7

1.1.6.1 shell指令碼的建立 7

1.1.6.2 shell指令碼的執行 8

1.1.6.3 shell指令碼開發基本規範及習慣 10

1.1.6.4 shell指令碼開發制度及規範 11

1.2 shell變數基礎及深入 11

1.2.1變數型別 11

1.2.2環鏡變數 12

1.2.3自定義環境變數(全域性變數) 14

1.2.4顯示與取消環境變數 15

1.2.5 區域性變數 16

1.2.5.1定義本地變數 16

1.2.5.2 shell特殊變數 21

1.2.5.3 bash內部變數 25

1.2.5.4 變數子串的常用操作 27

1.2.5.5變數的數值計算 36

1.3條件測試 45

1.3.1 測試語句 45

1.3.1.1條件測試語法 45

1.3.1.2檔案測試操作符 47

1.3.1.3字串測試操作符 48

1.3.1.4整數二元比較操作符 48

1.3.1.5邏輯操作符 49

1.3.2 條件測試舉例 50

1.3.2.1檔案測試舉例 50

1.3.2.2字串測試舉例 53

1.3.2.3整數測試舉例: 55

1.3.2.4 test命令測試的用法 56

1.3.2.5邏輯操作符的舉例 57

1.4 分支與迴圈結構 58

1.4.1 if 條件句 58

1.4.1.1 if條件句語法說明 58

1.4.1.2 if條件句舉例 60

1.4.1.3多判斷條件if語句(&&、||) 71

1.4.2 case 結構條件句 78

1.4.2.1 case結構條件句語法 78

1.4.2.2 case結構條件句自寫範例 79

1.4.2.3 case結構條件句系統指令碼範例 84

1.4.2.4 要掌握的系統標桿指令碼 90

1.4.3 當型迴圈和直到型迴圈 90

1.4.3.1當型和直到型迴圈語法 90

1.4.3.2當型和直到型迴圈基本範例 90

1.4.3.3相關高階生產實戰範例拓展 95

1.4.4 for迴圈結構 101

1.4.4.1 for迴圈結構語法 101

1.4.4.2 for迴圈結構基礎例子 102

1.4.4.3 for迴圈結構深入例子 104

1.4.4.2 for迴圈結構高階例子 115

1.5 break continue exit 121

1.5.1 break continue exit對比 121

1.5.2 break continue exit範例 121

1.6 shell 函式 124

1.6.1 shell函式語法 124

1.6.2 shell函式執行 124

1.6.3 shell函式範例 125

1.7 shell指令碼除錯 136

1.7.1 常見指令碼錯誤範例 136

1.7.1.1 if條件句缺少if結尾關鍵字 136

1.7.1.2 迴圈結構體中缺少關鍵字錯誤 137

1.7.1.3 成對的符號落了單導致錯誤 137

1.7.1.4 中括號兩端沒空格導致錯誤 139

1.7.2 shell指令碼除錯技巧 140

1.7.2.1 使用dos2unix命令處理指令碼 140

1.7.2.2使用echo命令除錯 141

1.7.2.3 使用bash命令引數除錯 141

1.7.2.4使用set命令除錯部分指令碼內容 144

1.7.2.5擴充套件內容 使用bash專用偵錯程式 145

1.8 shell指令碼開發習慣、規範、制度 145

1.8.1命名規範 146

1.8.1.1版本和執行引數 146

1.8.1.2變數命名 146

1.8.1.3函式命名 147

1.8.1.4指令碼(模組)命名 148

1.8.1.5臨時檔案的命名 148

1.8.2 **風格規範 149

1.8.2.1**框架 149

1.8.2.2函式規範 149

1.8.2.3條件語句與迴圈 150

1.8.2.4縮排規範 151

1.8.3注釋規範 152

1.8.3.1檔案/模組注釋 152

1.8.3.2重要函式注釋 153

1.8.3.3養成寫注釋的好習慣 153

1.8.4引用符號使用規範 153

1.8.5日誌規範 154

1.8.6介面檔案規範 155

1.8.7配置規範 155

1.8.7.1配置檔案規範 155

1.8.7.2配置項的檢查 156

1.8.8指令碼存放規範 156

1.8.9補充規範19條 157

1.8.10優秀的開發習慣 158

1.9 shell開發環境的配置調整和優化 159

1.9.1設定securecrt終端vim shell環境配置 159

1.9.1.1 securecrt終端vim shell環境配置 159

1.9.2 vim shell環境功能 159

1.9.2.1 securecrt終端vim 自動增加版權功能資訊 159

1.9.2.2 vim編輯器中成對括號自動補全功能 159

1.9.2.3 vim編輯器中函式等自動補全功能 159

1.9.2.4 vim編輯器中自動縮排、高亮顯示等 159

1.9.3 vim shell環境配置.vimrc實現**及引數 160

附錄一 linux系統計算從1加到100之和15種思路風暴 164

附錄二 一道典型linux shell問題的多種解決思維過程案例 169

附錄三 shell相關資料 174

附錄四 學生問題問答集錦 175

shell 開發指南

語法 釋義使用示例 bash source 0 取得當前執行的shell檔案所在的路徑 context dirname 上一條指令執行完的退出狀態.0為成功,非0為失敗.if eq 0 then 基本結構 if 條件語句 then 執行語句1 else 執行語句2 fi注意條件語句外有 兩種形式 常...

linux unix的shell程式設計指南筆記1

一.檔案許可權與安全 1.umask 設定預設的建立許可權屬性,屬於 非 型,與實際相反,拿走的意思.2.suid guid 運用chmod命令在實際許可權位前面加乙個位來設定suid許可權,讓其它在執行相應指令碼時有你所有的權力,執行完後恢復.例如 chmod 4777 file 二.find和x...

linux開發 一 shell程式設計要點

linux開發 一 shell簡單程式設計 1 變數賦值時,不需要加 符,只有取變數值的時候,需要加 符 2 雙引號可以進行變數值替換,單引號和 不能進行變數替換 3 主要的環境變數 常量 home 當前使用者的家目錄 path 以冒號分隔的用來搜尋命令的目錄列表 ps1 命令提示符,通常是 字元,...