Shell腳本中$0、$?、$!、$$、$*、$#、$@



1. $$
Shell本身的PID(ProcessID)


2. $!
Shell最后運行的后台Process的PID


3. $?
最后運行的命令的結束代碼(返回值)


4. $-
使用Set命令設定的Flag一覽


5. $*
所有參數列表。如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有參數。


6. $@
所有參數列表。如"$@"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有參數。


7. $#
添加到Shell的參數個數


8. $0
Shell本身的文件名


9.$1~$n
添加到Shell的各參數值。$1是第1參數、$2是第2參數…。

我們先寫一個簡單的腳本,執行以后再解釋各個變量的意義

mkdir test.sh

腳本內容如下:

#!/bin/bash

echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:$@"

保存退出

wqa!

賦予腳本執行權限並執行

1.bash test.sh

2.chmod 755 test.sh
    ./test.sh

 

結果:

number:2
scname:./variable
first: aa
second:bb
argume:aa bb

結果分析


通過顯示結果可以看到:
$# 是傳給腳本的參數個數
$0 是腳本本身的名字
$1是傳遞給該shell腳本的第一個參數
$2是傳遞給該shell腳本的第二個參數
$@ 是傳給腳本的所有參數的列表


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM