歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux維護 >> Linux如何刪除替換變量值

Linux如何刪除替換變量值

日期:2017/3/2 10:30:41   编辑:Linux維護

在Linux系統中,對變量進行賦值後需要發現有些問題,需要對變量值進行刪除或替換,本文將針對Linux變量值的替換和刪除做個詳細介紹,希望對你有所幫助。

1、變量內容的刪除

[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:} #看見那個“#”符號,表示從變量“PATH”值的左邊開始向右邊刪除能匹配到“*bin:”的位置,僅刪除能匹配到最短的那個,所以輸出內容如下,“/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:} #兩個“#”表示刪除能匹配到最長的那個,所以“/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:”全部被刪除

/root/bin

[root@bogon ~]# echo ${PATH%:/*bin} #把上邊的“#”號換成“%”看看,表示從變量“PATH”值的右邊開始向左邊刪除能匹配到“*bin”的位置,僅刪除能匹配到最短的那個,所以“:/root/bin”被刪除

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin

[root@bogon ~]# echo ${PATH%%:/*bin} #兩個“%”與兩個“#”類似的道理

/usr/local/sbin

2、變量內容的替換

[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

變量內容刪除與替換小結:

變量書寫方式功能描述

${變量名稱#匹配字符}若變量內容有被匹配到,剛從變量內容的左邊開刪除,但刪除匹配最短的

${變量名稱##匹配字符}若變量內容有被匹配到,剛從變量內容的左邊開刪除,但刪除匹配最長的,可理解成此時工作在貪婪模式

${變量名稱%匹配字符}若變量內容有被匹配到,剛從變量內容的右邊開刪除,但刪除匹配最短的

${變量名稱%%匹配字符}若變量內容有被匹配到,剛從變量內容的右邊開刪除,但刪除匹配最長的,可理解成此時工作在貪婪模式

${變量稱/舊字符串/新字符串}從變量內容的左邊開始匹配,用新字符串替換舊字符串,僅替換第一個匹配到的字符串

${變量稱//舊字符串/新字符串}從變量內容的左邊開始匹配,用新字符串替換舊字符串,全部替換匹配到的字符串

上面就是Linux刪除和替換變量值的方法介紹了,本文只介紹了刪除和替換這兩種方法,變量的修改還有取代等方式,這裡就不一一介紹了。

Copyright © Linux教程網 All Rights Reserved