Shell_参数替换(転)
From: http://www.cnblogs.com/yjf512/archive/2013/06/03/3114803.html
Bash中的$符號(hào)的作用是參數(shù)替換,將參數(shù)名替換為參數(shù)所代表的值。對(duì)于$來(lái)說(shuō),大括號(hào)是可選的,即$A和${A}代表同一個(gè)參數(shù)。
1、${}帶冒號(hào)的有下面幾種表達(dá)式:
${parameter:-word}
如果parameter為null或者未設(shè)置,整個(gè)參數(shù)替換表達(dá)式值為word
${parameter:=word}
如果parameter為null或者未設(shè)置,整個(gè)參數(shù)替換表達(dá)式值為word,并且parameter參數(shù)值設(shè)置為word
${parameter:?word}
如果parameter為null或者未設(shè)置,則打印出錯(cuò)誤信息。否則,整個(gè)參數(shù)替換表達(dá)式值為$parameter
${parameter:+word}
如果parameter不為null或者未設(shè)置,則整個(gè)參數(shù)替換表達(dá)式值為word
${parameter:offset}
${parameter:offset:length}
parameter的值的子字符串。
可以理解下下面這幾個(gè)例子:
?
2、${}帶!有下面幾種表達(dá)式:
${!prefix*}
${!prefix@}
將帶有前綴為prefix的參數(shù)名打印出來(lái)
${!name[@]}
${!name[*]}
這個(gè)是針對(duì)name數(shù)組的,打印出來(lái)name數(shù)組有哪些下標(biāo)
可以理解下下面這幾個(gè)例子:
?
3、${}帶正則匹配的幾種表達(dá)式:
${parameter#word}
${parameter##word}
從頭開始掃描word,將匹配word正則表達(dá)的字符過濾掉
#為最短匹配,##為最長(zhǎng)匹配
${parameter%word}
${parameter%%word}
從尾開始掃描word,將匹配word正則表達(dá)式的字符過濾掉
%為最短匹配,%%為最長(zhǎng)匹配
可以理解下面這幾個(gè)例子:
${parameter/pattern/string}
${parameter//pattern/string}
將parameter對(duì)應(yīng)值的pattern字符串替換成為string字符串
/表示只替換一次
//表示全部替換
可以理解下面這幾個(gè)例子:
轉(zhuǎn)載于:https://www.cnblogs.com/nliao/p/3323998.html
總結(jié)
以上是生活随笔為你收集整理的Shell_参数替换(転)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: postgresql集群方案hot st
- 下一篇: 短消息编解码算法