歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> shell編程Bash中對變量的操作方法談

shell編程Bash中對變量的操作方法談

日期:2017/2/27 9:26:49   编辑:SHELL編程
  1.條件變量替換:   Bash Shell可以進行變量的條件替換,既只有某種條件發生時才進行替換,替換  條件放在{}中.  (1) ${value:-Word}  當變量未定義或者值為空時,返回值為word的內容,否則返回變量的值.  (2) ${value:=word}  與前者類似,只是若變量未定義或者值為空時,在返回word的值的同時將  word賦值給value  (3) ${value:?message}  若變量以賦值的話,正常替換.否則將消息message送到標准錯誤輸出(若  此替換出現在Shell程序中,那麼該程序將終止運行)  (4) ${value:+word}  若變量以賦值的話,其值才用word替換,否則不進行任何替換  (5) ${value:offset}  ${value:offset:length}  從變量中提取子串,這裡offset和length可以是算術表達式.  (6) ${#value}  變量的字符個數 (變量的字符個數,並不是變量個數)  (7) ${value#pattern}  ${value##pattern}  去掉value中與pattern相匹配的部分,條件是value的開頭與pattern相匹配  #與##的區別在於一個是最短匹配模式,一個是最長匹配模式.  (8) ${value%pattern}  ${value%%pattern}  於(7)類似,只是是從value的尾部於pattern相匹配,%與%%的區別與#與##一樣  (9) ${value/pattern/string}  ${value//pattern/string}  進行變量內容的替換,把與pattern匹配的部分替換為string的內容,/與//的區  別與上同    注意:上述條件變量替換中,除(2)外,其余均不影響變量本身的值    2.變量的算術運算  在Bash Shell中,只能進行兩個整數間的運算,其結果仍為整數.要進行算術  運算,需要使用let命令,語法為:  let eXPr  expr是一個包含項和操作符的表達式,項可以是一個變量或是一個整數常數,  當使用整數常數時,其默認為十進制整數,用戶可以用radio#number來指定其它  形式的整數,其中radio定義了整數是幾進制表示的,number是該整數的值.若  radio>10,那麼數字字符可從0-9和A-Z.  在表達式中支持的操作符及其含義為:  +,-,*,/,% 加,減,乘,除,取模  >>,"、">&"及""所操作的檔案。  auto_resume : 請見任務控制一節。  no_exit_on_failed_exec : 如果該值存在,非互動的shell不會因為exec失敗而跳出。  cdable_vars : 如果啟動,而cd命令找不到目錄,可切換到參數形態指定的目錄下。




Copyright © Linux教程網 All Rights Reserved