国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Bash中對變量的操作

2019-11-18 17:24:42
字體:
來源:轉載
供稿:網友
1.條件變量替換:
BashShell可以進行變量的條件替換,既只有某種條件發生時才進行替換,替換
條件放在{}中.
(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)${valuepattern}
${valuepattern}
于(7)類似,只是是從value的尾部于pattern相匹配,與的區別與#與##一樣
(9)${value/pattern/string}
${value//pattern/string}
進行變量內容的替換,把與pattern匹配的部分替換為string的內容,/與//的區
別與上同

注意:上述條件變量替換中,除(2)外,其余均不影響變量本身的值


2.變量的算術運算
在BashShell中,只能進行兩個整數間的運算,其結果仍為整數.要進行算術
運算,需要使用let命令,語法為:
letexPR
expr是一個包含項和操作符的表達式,項可以是一個變量或是一個整數常數,
當使用整數常數時,其默認為十進制整數,用戶可以用radio#number來指定其它
形式的整數,其中radio定義了整數是幾進制表示的,number是該整數的值.若
radio>10,那么數字字符可從0-9和A-Z.
在表達式中支持的操作符及其含義為:
,-,*,/,加,減,乘,除,取模
>>,<<,&,^,|左移,右移,位與,位異或,位或
?:三元運算符.與C語言中的定義一致
~取補碼
!,>=,<=,>,<,==,!=,&&,||
=, =,-=,*=,/=,=,<<=,>>=,&=,^=,|=
表達式式中也可以使用括號.括號或運算優先級的定義與一般計算機語言中的
相同.
let命令具有返回值.當計算結果(若有多個表達式時,以最后一個為準)為0時,
返回值為1,否則為0.
當表達式中含有shell的特殊字符(如|)時,需要用引用符('或")將其引用起來.
使用let時還需要注意的時,對于letx y這樣的式子,shell雖然計算了x y的值
但卻將結果丟棄,若不想這樣,可以使用letsum=x y將x y的結果保存在變量sum中
另外還可以使用((和))操作符取代let命令,而且這樣的話,還可以省去對算術
表達式的引用,如果想返回表達式的值,則需用$(())的格式.

上一篇:Bash中的特殊字符

下一篇:Bash中的變量

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广汉市| 安吉县| 延边| 彭州市| 金坛市| 扎兰屯市| 阿荣旗| 乌拉特中旗| 二手房| 滕州市| 苍山县| 屏边| 嘉善县| 涿州市| 买车| 博野县| 木里| 东港市| 海林市| 巴青县| 峨边| 合川市| 渭南市| 拉萨市| 黔东| 宁安市| 镇雄县| 永仁县| 博客| 乌鲁木齐县| 潍坊市| 石渠县| 济阳县| 禄劝| 密云县| 丁青县| 衢州市| 日土县| 满洲里市| 西藏| 沧州市|