【shell】位置參數和特殊變量$1,$@,$#等

希望各位不要白piao,點個贊或者刷個評論再走,還有【禁止轉載】我個人覺得寫的比較細,有基礎的還是看一下黑體字的部分,因爲我覺得還是很容易出錯。話不多說講什麼我會先列出來,如果會了可以忽略本文章,省下時間去學習別的知識~
這篇文章就講位置參數和特殊變量,比如$1,$0,$@。全文很乾安心食用,食用後點個贊~~~

位置參數和特殊變量

有很多特殊變量是被Shell自動賦值的,我們已經遇到了$?和$1,現在總結一下:
常用的位置參數和特殊變量

$0  相當於C語言main函數的argv[0]
$1$2...    這些稱爲位置參數(Positional Parameter),相當於C語言main函數的argv[1]、argv[2]...
$#  相當於C語言main函數的argc - 1,注意這裏的#後面不表示註釋
$@  表示參數列表"$1" "$2" ...,例如可以用在for循環中的in後面。
$*  表示參數列表"$1" "$2" ...,同上
$?  上一條命令的Exit Status
$$  當前進程號

位置參數可以用shift命令左移。比如shift 3表示原來的$4現在變成$1,原來的$5現在變成$2等等,原來的$1、$2、$3丟棄,$0不移動。不帶參數的shift命令相當於shift 1。例如:

    #! /bin/sh
	echo "The program $0 is now running"
    echo "The first parameter is $1"
    echo "The second parameter is $2"
    echo "The parameter list is $@"
    
    shift
    
 	echo "The first parameter is $1"
    echo "The second parameter is $2"
    echo "The parameter list is $@"

所有的釋義我都寫成了英文哈,英語看不懂我就不負責了,畢竟這基本的于都能力還是要有的~ 奧利給~~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章