萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux如何刪除替換變量值

Linux如何刪除替換變量值

  在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 © 萬盛學電腦網 all rights reserved