在Linux系統(tǒng)中,對(duì)變量進(jìn)行賦值后需要發(fā)現(xiàn)有些問(wèn)題,需要對(duì)變量值進(jìn)行刪除或替換,本文將針對(duì)Linux變量值的替換和刪除做個(gè)詳細(xì)介紹,希望對(duì)你有所幫助。一起去看看吧!
1、變量?jī)?nèi)容的刪除
[root@bogon ~]# echo ${PATH} #呼叫出PATH變量的值
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/root/bin
[root@bogon ~]# echo ${PATH#/*bin:} #看見(jiàn)那個(gè)“#”符號(hào),表示從變量“PATH”值的左邊開(kāi)始向右邊刪除能匹配到“*bin:”的位置,僅刪除能匹配到最短的那個(gè),所以輸出內(nèi)容如下,“/usr/local/sbin:”被刪除了
/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/root/bin
[root@bogon ~]# echo ${PATH#*local/bin:}
/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/root/bin
[root@bogon ~]# echo ${PATH##/*bin:} #兩個(gè)“#”表示刪除能匹配到最長(zhǎng)的那個(gè),所以“/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:”全部被刪除
/root/bin
[root@bogon ~]# echo ${PATH%:/*bin} #把上邊的“#”號(hào)換成“%”看看,表示從變量“PATH”值的右邊開(kāi)始向左邊刪除能匹配到“*bin”的位置,僅刪除能匹配到最短的那個(gè),所以“:/root/bin”被刪除
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin
[root@bogon ~]# echo ${PATH%%:/*bin} #兩個(gè)“%”與兩個(gè)“#”類似的道理
/usr/local/sbin
2、變量?jī)?nèi)容的替換
[root@bogon ~]# echo ${PATH/sbin/SBIN/} #用“SBIN”替換“sbin”,但只替換第一次匹配到的
/usr/local/SBIN/:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/root/bin
[root@bogon ~]# echo ${PATH//sbin/SBIN/} #用“SBIN”替換“sbin”,全局替換
/usr/local/SBIN/:/usr/local/bin:/SBIN/:/bin:/usr/SBIN/:/usr/bin:/usr/local/mysql/bin:/root/bin
變量?jī)?nèi)容刪除與替換小結(jié):
變量書(shū)寫方式功能描述
${變量名稱#匹配字符}若變量?jī)?nèi)容有被匹配到,剛從變量?jī)?nèi)容的左邊開(kāi)刪除,但刪除匹配最短的
${變量名稱##匹配字符}若變量?jī)?nèi)容有被匹配到,剛從變量?jī)?nèi)容的左邊開(kāi)刪除,但刪除匹配最長(zhǎng)的,可理解成此時(shí)工作在貪婪模式
${變量名稱%匹配字符}若變量?jī)?nèi)容有被匹配到,剛從變量?jī)?nèi)容的右邊開(kāi)刪除,但刪除匹配最短的
${變量名稱%%匹配字符}若變量?jī)?nèi)容有被匹配到,剛從變量?jī)?nèi)容的右邊開(kāi)刪除,但刪除匹配最長(zhǎng)的,可理解成此時(shí)工作在貪婪模式
${變量稱/舊字符串/新字符串}從變量?jī)?nèi)容的左邊開(kāi)始匹配,用新字符串替換舊字符串,僅替換第一個(gè)匹配到的字符串
${變量稱//舊字符串/新字符串}從變量?jī)?nèi)容的左邊開(kāi)始匹配,用新字符串替換舊字符串,全部替換匹配到的字符串
以上內(nèi)容就是今天小編為大家?guī)?lái)的關(guān)于Linux刪除和替換變量值的方法了,本文只介紹了刪除和替換這兩種方法,變量的修改還有取代等方式,這里就不一一介紹了。希望能夠幫助到大家!