$# 是傳給腳本的參數(shù)個數(shù)
$0 是腳本本身的名字
$1 是傳遞給該shell腳本的第一個參數(shù)
$2 是傳遞給該shell腳本的第二個參數(shù)
$@ 是傳給腳本的所有參數(shù)的列表
$* 是以一個單字符串顯示所有向腳本傳遞的參數(shù),與位置變量不同,參數(shù)可超過9個
$$ 是腳本運行的當(dāng)前進程ID號
$? 是顯示最后命令的退出狀態(tài),0表示沒有錯誤,其他表示有錯誤
區(qū)別:$@, $*
- 相同點:都是引用所有參數(shù)
- 不同點:$* 和 $@ 都表示傳遞給函數(shù)或腳本的所有參數(shù),不被雙引號(" ")包含時,都以"$1" "$2" … "$n" 的形式輸出所有參數(shù)。但是當(dāng)它們被雙引號(" ")包含時,"$*" 會將所有的參數(shù)作為一個整體,以"$1 $2 … $n"的形式輸出所有參數(shù);"$@" 會將各個參數(shù)分開,以"$1" "$2" … "$n" 的形式輸出所有參數(shù)。
$*和$@詳細(xì)區(qū)別請看此處
#!/bin/bash
echo "-----------------"
for key in "$@"
do
echo '$@' $key
done
echo "-----------------------------"
for key2 in $*
do
echo '$*' $key2
done
1、帶引號執(zhí)行及結(jié)果:
[root@localhost ~]# bash file.sh linux "python c"
-----------------
$@ linux
$@ python c
-----------------------------
$* linux
$* python
$* c
2、不帶引號執(zhí)行及結(jié)果:
[root@localhost ~]# bash file.sh linux python c
-----------------
$@ linux
$@ python
$@ c
-----------------------------
$* linux
$* python
$* c
到此這篇關(guān)于Linux Shell 如何獲取參數(shù)的方法的文章就介紹到這了,更多相關(guān)Linux Shell 獲取參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- shell獲取命令行參數(shù)示例分享
- shell學(xué)習(xí)教程獲取命令行參數(shù)示例