位置引數
$0相當c的main函式argv[0]
$1、$2
位置引數,相當於argv[1]、argv[2]
$#相當於 argc -1
$@表示引數列表
$?上一條命令的退出碼
$$當前shell的程序號
#!/bin/bash
echo
"\$0 -> $0"
echo
"\$1 -> $1"
echo
"\$2 -> $2"
echo
"\$3 -> $3"
echo
"\$# -> $#"
echo
"\$@ -> $@"
echo
"\$? -> $?"
echo
"\$$ -> $$"
#執行[yexi@yexi 桌面]$ ./hh.sh a b c #後面跟a b c 3個引數
$0 -> ./hh.sh
$1 -> a
$2 -> b
$3 -> c
$# -> 3
$@ -> a b c
$? -> 0
$$ -> 17204
位置引數可以使用 shift 命令左移。
shift 2表示左移兩個,原來的$3變成$1,原來的$1、$2丟棄
#!/bin/bash
shift 2
echo
"\$0 -> $0"
echo
"\$1 -> $1"
echo
"\$2 -> $2"
echo
"\$3 -> $3"
echo
"\$# -> $#"
echo
"\$@ -> $@"
echo
"\$? -> $?"
echo
"\$$ -> $$"
#執行[yexi@yexi 桌面]$ ./hh.sh a b c
$0 -> ./hh.sh
$1 -> c
$2 ->
$3 ->
$# -> 1
$@ -> c
$? -> 0
$$ -> 17234
遍歷命令列引數
#方法1
for i in
$@do
echo
$idone
#方法2
while [ $#
-ne0 ]
doecho
$i shift 1
done
shell的位置引數和特殊變數
shell中有很多自動複製的變數 常用的位置引數和特殊變數有 0 相當於c語言main函式的argv 0 1 2 3.位置引數,相當於argv 1 argv 2 argv 3 相當於argv 1 表示引數列表 可以用做for的遍歷 表示引數列表 上一條命令的exit status 0為真 非0為假 ...
學習筆記 shell中位置引數及特殊引數
0,1,2,等等.位置引數,從命令列傳遞給指令碼,或者是傳遞給函式.或者賦職給乙個變數.0表示當前執行的程序名,script 本身的名字,或者在正規表示式中表示整行輸出 命令列或者是位置引數的個數.所有的位置引數,被作為乙個單詞.注意 必須被 引用.與 同義,但是每個引數都是乙個獨立的 引用字串,這...
Shell基礎 位置引數
位置引數是用一位或多位數字 除了0 表示的引數,位置引數n可以引用為 或者當n由單個數字組成時,引用為 n 位置引數是在呼叫shell時從shell引數中分配的 bash s a b c echo 1 2 3a b c cat script echo 1 2 3 bash script a b c ...