shell 程式設計基礎知識
阿新 • • 發佈:2018-12-28
指令碼的執行方法
sh script.sh | bash script.sh ##沒有執行許可權時
path/script.sh | ./script.sh ##絕對路徑,當前目錄下
source script.sh | . script.sh ##這種方式會使用source或.號來讀如指定shell檔案,並會把其他shell中的變數值或函式返回給父shell繼續使用
在未加執行許可權時,我們無法用第二種絕對路徑的方法直接執行指令碼,需要先給指令碼加執行許可權
其他兩種方法在沒有執行許可權時都可直接使用
變數定義與賦值
變數賦值的幾種方式如下:
1.直接賦值:a=hello ##當定義內容中含有空格時,無法正確解析
2.直接賦值:b=‘ westos’ ##單引號預設不解析其中的內容
3.直接賦值:c=“westos” ##沒有特別要求
4.將命令的結果賦值給變數
練習:打包日誌:
特殊變數
$0:獲取指令碼檔名,如果執行時包含路徑,則輸出指令碼路徑
$n(>0):表示指令碼執行時跟在執行語句後的第n個變數
$#:所有的變數個數
4.$?:檢測上一條命令執行結果的返回值,執行成功則為0,執行失敗則非0
read命令
read命令可以用來接受使用者輸入的引數,用法如下:
變數的數值計算
1.expr命令用法如下:
expr $a + 10
expr $a \* 10 (只有乘法需要轉義)
2.$[]和$(())表示式:
echo $[a+10]
echo $[a*10]
3.let命令(let命令在執行後會覆蓋原來的值儲存新的值)
let a+=10
let a-=10
4.小數計算:
echo 1.2 + 3.4 | bc
echo "scale=2;1.23+4.567" | bc
練習:計算兩個數的加減乘除
指令碼如下:
執行結果如下: