LInux shell的特色是有不少的環境變量,理解環境變量能夠更好的對shell進行理解,本篇就着重講一下shell中比較經常使用的一些環境變量。
1. 各類以$符號開始的變量
首先寫一個例子來幫助理解:test.sh abc 123
$0:表明執行進程的名稱, 其中test.sh爲$0
$1~$n :傳入程序或函數中的
參數,第一個參數爲$1,以此類推
因此$1=abc, $2=123
$* : 表明全部的位置參數,並
視爲一個字符串,因此$*=" abc 123"
$@
:表明全部的位置參數,
但爲各個參數組成的串行,因此 $@="abc" ."123"這兩個字符串
$#:表明位置參數的個數 $#=2;
$?:上一個命令執行結束後的傳回值,0爲成功,非零爲失敗;
$$:目前bash shell的進程編號;
$_:用途有三種:
a、script執行時,bash的絕對路徑,例如/bin/bash
b.上一個命令執行時,最後一個位置參數,因此$_='123'
c.檢查郵件時,$_的值爲郵件文件名
在shell編程中如果能夠靈活的運用好這些$參數,會節省很大的力氣的哦。。。
好好學習shell