記錄下linux shell下的特殊用法及參數的說明
| $# |
傳遞到腳本或函數的參數個數 |
| $* |
以一個單字符串顯示所有向腳本傳遞的參數 |
| $$ |
腳本運行的當前進程ID號 |
| $! |
后台運行的最后一個進程的ID號 |
| $@ |
與$*相同,但是使用時加引號,並在引號中返回每個參數。 |
| $- |
顯示Shell使用的當前選項,與set命令功能相同。 |
| $? |
顯示最后命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。 |
$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腳本的第二個參數
$@ 是傳給腳本的所有參數的列表
