最近做乙個小專案,需要用編寫個指令碼做監控,順便記錄下使用到的內容:
1.shell的區域性變數定義local
當shell指令碼中需要使用的函式時,這個時候就可以選擇使用區域性變數,還是很有必要的。可以避免傳入函式中的同名變數名在函式內被修改而影響指令碼全域性變數的值。特別是指令碼在不同函式中使用索引變數i時,踩了很多坑。
#!/bin/sh
local_fun(
)]= $"
done
echo
"local_fun i=$i"
}i=10
local_fun
echo
"i=$i"
執行結果如下:
函式local_fun修改了i的值,顯然函式呼叫後,i的值也被修改了。當乙個指令碼中可能會在不同的函式中使用索引i,為了避免造成影響,可以在函式local_fun中增加一行local i定義,如下:
#!/bin/sh
local_fun(
)]= $"
done
echo
"local_fun i=$i"
}
執行結果如下圖:
我們可以看到,函式local_fun中使用的i使用local修飾後,使函式中i的作用域僅僅限於函式中。全域性變數i並沒有被改變。
Shell指令碼開發學習筆記
1 建立一級目錄 mkdir dir1 2 建立多級目錄 mkdir p dir1 dir2 3 建立指定許可權的目錄 mkdir m 777 dir1 4 刪除目錄 rm r dir1 1 單分支if語句 if 判斷條件 then statement1 statement2 fi 2 雙分支if語...
shell學習之 shell呼叫shell
2008 05 06 14 43 18 分類 linux 標籤 字型大小 大中小訂閱 fork是最普通的,就是直接在指令碼裡面用 directory script.sh來呼叫script.sh這個指令碼.執行的時候開乙個sub shell執行呼叫的指令碼,sub shell執行的時候,parent ...
學習shell 與shell指令碼 學習筆記
一般模式 編輯模式 命令列命令模式 一般模式下輸入 都會進入命令列模式 我們寫vi命令中最常用的方法 一般模式 0 移動到這一行的最前面字元處 移動到這一行的最後面字元處g 移動到這個檔案的最後一行 gg移動到這個檔案的第一行 n n為數字 游標向下移動n行 word 從游標位置開始向下搜尋乙個名為...