向shell指令碼傳引數

2021-08-10 02:46:14 字數 661 閱讀 4758

執行「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...