shell中$0 $n $#以及# ## % %%等等含義

變量含義
$0  當(dāng)前腳本的文件名
$n  傳遞給腳本或函數(shù)的參數(shù)。n 是一個數(shù)字敛惊,表示第幾個參數(shù)。例如篓像,第一個參數(shù)是$1,第二個參數(shù)是$2员辩。
$#  傳遞給腳本或函數(shù)的參數(shù)個數(shù)。
$*  傳遞給腳本或函數(shù)的所有參數(shù)丹皱。
$@  傳遞給腳本或函數(shù)的所有參數(shù)宋税。被雙引號(" ")包含時,與 $* 稍有不同杰赛,下面將會講到。
$?  上個命令的退出狀態(tài)根时,或函數(shù)的返回值辰晕。
$$  當(dāng)前Shell進(jìn)程ID。對于 Shell 腳本替裆,就是這些腳本所在的進(jìn)程ID窘问。

$* 和 $@ 的區(qū)別
$* 和 $@ 都表示傳遞給函數(shù)或腳本的所有參數(shù),不被雙引號(" ")包含時惠赫,都以"$1" "$2" … "$n" 的形式輸出所有參數(shù)。

但是當(dāng)它們被雙引號(" ")包含時,"$*" 會將所有的參數(shù)作為一個整體倍阐,以"$1 $2 … $n"的形式輸出所有參數(shù);"$@" 會將各個參數(shù)分開岔冀,以"$1" "$2" … "$n" 的形式輸出所有參數(shù)概耻。

介紹下Shell中的${}罐呼、##和%%使用范例侦高,本文給出了不同情況下得到的結(jié)果。
假設(shè)定義了一個變量為:
代碼如下:
file=/dir1/dir2/dir3/my.file.txt
可以用${ }分別替換得到不同的值:
${file#*/}:刪掉第一個 / 及其左邊的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:刪掉最后一個 /  及其左邊的字符串:my.file.txt
${file#*.}:刪掉第一個 .  及其左邊的字符串:file.txt
${file##*.}:刪掉最后一個 .  及其左邊的字符串:txt
${file%/*}:刪掉最后一個  /  及其右邊的字符串:/dir1/dir2/dir3
${file%%/*}:刪掉第一個 /  及其右邊的字符串:(空值)
${file%.*}:刪掉最后一個  .  及其右邊的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:刪掉第一個  .   及其右邊的字符串:/dir1/dir2/dir3/my
記憶的方法為:
# 是 去掉左邊(鍵盤上#在 $ 的左邊)
%是去掉右邊(鍵盤上% 在$ 的右邊)
單一符號是最小匹配计螺;兩個符號是最大匹配
${file:0:5}:提取最左邊的 5 個字節(jié):/dir1
${file:5:5}:提取第 5 個字節(jié)右邊的連續(xù)5個字節(jié):/dir2
也可以對變量值里的字符串作替換:
${file/dir/path}:將第一個dir 替換為path:/path1/dir2/dir3/my.file.txt
${file//dir/path}:將全部dir 替換為 path:/path1/path2/path3/my.file.txt

原文鏈接:
https://blog.csdn.net/jiezi2016/article/details/79649382

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末登馒,一起剝皮案震驚了整個濱河市咆槽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌秦忿,老刑警劉巖小渊,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異酬屉,居然都是意外死亡,警方通過查閱死者的電腦和手機杀饵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門切距,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惨远,“玉大人,你說我怎么就攤上這事北秽。” “怎么了蔚叨?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蔑水。 經(jīng)常有香客問我,道長丹擎,這世上最難降的妖魔是什么领曼? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮毁渗,結(jié)果婚禮上单刁,老公的妹妹穿的比我還像新娘。我一直安慰自己羔飞,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布么伯。 她就那樣靜靜地躺著卡儒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪硬爆。 梳的紋絲不亂的頭發(fā)上擎鸠,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音袜蚕,去河邊找鬼绢涡。 笑死,一個胖子當(dāng)著我的面吹牛垂寥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播狭归,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼文判,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了疚宇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎仁热,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體举哟,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡迅矛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年秽褒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片震嫉。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡票堵,死狀恐怖扼睬,靈堂內(nèi)的尸體忽然破棺而出悴势,到底是詐尸還是另有隱情,我是刑警寧澤特纤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布捧存,位于F島的核電站担败,受9級特大地震影響镰官,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜泳唠,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一笨腥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧脖母,春花似錦、人聲如沸镶奉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽建峭。三九已至玻侥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間亿蒸,已是汗流浹背凑兰。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留边锁,地道東北人姑食。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像茅坛,于是被迫代替她去往敵國和親音半。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355