linux中$@,$*,$0,$$,$?參數的含義


$# 是傳給腳本的參數個數
$0 是腳本本身的名字
$1 是傳遞給該shell腳本的第一個參數
$2 是傳遞給該shell腳本的第二個參數
$@ 是傳給腳本的所有參數的列表
$* 是以一個單字符串顯示所有向腳本傳遞的參數,與位置變量不同,參數可超過9個
$$ 是腳本運行的當前進程ID號
$? 是顯示最后命令的退出狀態,0表示沒有錯誤,其他表示有錯誤

其中,,$@和$*都表示命令行所有參數(不包含$0),但是$*將命令行的所有參數看成一個整體,而$@則區分各個參數

見下例:

#!/bin/bash

echo "number:$#"
echo "name:$0"
echo "first:$1"
echo "second:$2"
echo "list:$@"
echo "param list:$*"
echo "pid:$$"
echo "exit status:$?"

for i in "$@"
do
    echo $i
done

for i in "$*"
do
    echo $i
done

輸出如下:

number:6
name:./param.sh
first:1
second:2
list:1 2 3 4 5 6
param list:1 2 3 4 5 6
pid:31600
exit status:0
1
2
3
4
5
6
1 2 3 4 5 6

 


免責聲明!

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



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