Linux Shell基礎 位置參數變量、預定義變量
阿新 • • 發佈:2018-11-22
install -m ear 輸出 span color pid 例如 clas
位置參數變量
[root@localhost ~]# ls anaconda-ks.cfg install.log install.log.syslog
$0 的值就是 ls 命令本身,$1 的值就是 anaconda-ks.cfg 這個文件,$2 是 install.log 文件,$3 是 install.log.syslog 文件。在 Shell 中可以識別的位置參數變量如表 1 所示。
位置參數變量 | 作 用 |
---|---|
$n | n 為數字,$0 代表命令本身,$1?$9 代表第 1?9 個參數,10 以上的參數需要用大括號包含, 如${10} |
$* | 這個變量代表命令行中所有的參數,把所有的參數看成一個整體 |
$@ | 這個變量也代表命令行中所有的參數,不過 $@ 把每個參數區別對待 |
$# | 這個變量代表命令行中所有參數的個數 |
預定義變量
預定義變量 |
作 用 |
---|---|
$? |
最後一次執行的命令的返回狀態。如果這個變量的值為 0,則證明上一條命令正確執行;如果這 個變量的值為非 0 (具體是哪個數由命令自己來決定),則證明上一條命令執行錯誤 |
$$ |
當前進程的進程號(PID) |
$! |
後臺運行的最後一個進程的進程號(PID) |
"$?"示例
[root@localhost sh]# ls hello.sh #ls命令正確執行 [root@localhost sh]# echo $? 0
變量"$?"返回一個0的值,說明上一條命令已經正確執行,如果執行錯誤"$?"會返回非0。
"$$"示例
[root@localhost sh]# vi hello.sh #!/bin/bash echo "The current process is $$"
輸出當前進程的PID
"$!"示例
find /root -name hello.sh &
使用find命令在/root目錄下査找hello.sh文件,符號"&"的意思是把命令放入後臺執行。
Linux Shell基礎 位置參數變量、預定義變量