變數說明
$$ shell本身的pid(processid)
$! shell最後執行的後台process的pid
$? 最後執行的命令的結束**(返回值)
$- 使用set命令設定的flag一覽
$* 所有引數列表。如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有引數。
$@ 所有引數列表。如"$@"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有引數。
$# 新增到shell的引數個數
$0 shell本身的檔名
$1~$n 新增到shell的各引數值。$1是第1引數、$2是第2引數…。
指令碼舉例
# touch variable
# vi variable
指令碼內容如下:
#!/bin/sh
echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:$@"
儲存退出
賦予指令碼執行許可權
# chmod +x variable
執行指令碼
# ./variable aa bb
number:2
scname:./variable
first: aa
second:bb
argume:aa bb
結果分析
通過顯示結果可以看到:
$# 是傳給指令碼的引數個數
$0 是指令碼本身的名字
$1是傳遞給該shell指令碼的第乙個引數
$2是傳遞給該shell指令碼的第二個引數
$@ 是傳給指令碼的所有引數的列表
原文** 個人稍作整理
Shell指令碼中 0, , 等含義
shell本身的pid processid shell最後執行的後台process的pid 最後執行的命令的結束 返回值 使用set命令設定的flag一覽 所有引數列表。如 用 括起來的情況 以 1 2 n 的形式輸出所有引數。所有引數列表。如 用 括起來的情況 以 1 2 n 的形式輸出所有引數。...
shell指令碼中變數 0等的含義
0 這個程式的執行名字 n 這個程式的第n個引數值,n 1.9 這個程式的所有引數,此選項引數可超過9個。這個程式的引數個數 這個程式的pid 指令碼執行的當前程序id號 執行上乙個背景指令的pid 後台執行的最後乙個程序的程序id號 執行上乙個指令的返回值 顯示最後命令的退出狀態。0表示沒有錯誤,...
shell指令碼中 0 等特殊變數的含義
bin shecho echo 0 0 echo 1 1 echo 2 2 echo echo echo echo 儲存指令碼為 test.sh,來看下執行結果 從結果我們可以看出 傳給指令碼的引數個數 0 指令碼本身的名字 1 傳遞給該shell指令碼的第1個引數 2 傳遞給該shell指令碼的第...