執行「nano test.sh」建立乙個新的shell指令碼。
指令碼test.sh的內容如下:
#!/bin/sh
name=$1
echo "the $ are great man!"
給新建立的test.sh的指令碼賦可執行許可權,命令為「chmod 755 test.sh」。
執行'./test.sh "xiao wang"'命令,可以看到自己編寫指令碼的結果「the xiao wang are great man!」。
"name=$1"中$1為系統提供的位置引數,$0代表程式的名稱,[$1/$2/...]從1開始為傳遞的引數。
linux系統除了提供位置引數還提供內建引數,內建引數如下:
$# ----傳遞給程式的總的引數數目
$? ----上乙個**或者shell程式在shell中退出的情況,如果正常退出則返回0,反之為非0值。
$* ----傳遞給程式的所有引數組成的字串。
$n ----表示第幾個引數,$1 表示第乙個引數,$2 表示第二個引數 ... $0 ----當前程式的名稱
$@----以"引數1" "引數2" ... 形式儲存所有引數
$$ ----本程式的(程序id號)pid
$! ----上乙個命令的pid
Shell 向shell指令碼傳參
我們可以在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為 n。n 代表乙個數字,1 為執行指令碼的第乙個引數,2 為執行指令碼的第二個引數,以此類推 傳遞到指令碼的引數個數 以下例項我們向指令碼傳遞三個引數,並分別輸出,其中 0 為執行的檔名 test.sh echo she...
Linux之向指令碼傳引數
linux之向指令碼傳引數 之前我們向指令碼傳遞引數可以通過 1,2等特殊變數。很方便,但是有些限制,就是不能超過9個引數。通過使用shift和getopts命令,我們可以十分方便的向指令碼傳遞引數。一 shift 通過使用shift,我們將引數選項從左向右移。看下面這個例子 bin sh shif...
Linux之向指令碼傳引數
linux之向指令碼傳引數 之前我們向指令碼傳遞引數可以通過 1,2等特殊變數。很方便,但是有些限制,就是不能超過9個引數。通過使用shift和getopts命令,我們可以十分方便的向指令碼傳遞引數。一 shift 通過使用shift,我們將引數選項從左向右移。看下面這個例子 bin sh shif...