歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

Bash中對變量的操作

  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.    在表達式中支持的操作符及其含義為:    +,-,*,/,%   加,減,乘,除,取模    >>,<<,&,^,  左移,右移,位與,位異或,位或    ?:      三元運算符.與C語言中的定義一致    ~       取補碼    !,>=,<=,>,<,==,!=,&&,    =,+=,-=,*=,/=,%=,<<=,>>=,&=,^=,=    表達式式中也可以使用括號.括號或運算優先級的定義與一般計算機語言中的相同.    let命令具有返回值.當計算結果(若有多個表達式時,以最後一個為准)為0時,返回值為1,否則為0.    當表達式中含有shell的特殊字符(如)時,需要用引用符('或")將其引用起來.    使用let時還需要注意的時,對於let x+y這樣的式子,shell雖然計算了x+y的值但卻將結果丟棄,若不想這樣,可以使用let sum=x+y將x+y的結果保存在變量sum中    另外還可以使用((和))操作符取代let命令,而且這樣的話,還可以省去對算術表達式的引用,如果想返回表達式的值,則需用$(())的格式.




Copyright © Linux教程網 All Rights Reserved