计算机语言中空下划线,2017-7-31 Shell脚本编程基础
bash中的算術運算:help let
+, -, *, /, %取模(取余), **(乘方)
實現算術運算:
(1) let var=算術表達式
[root@centos7 ~]#a=20 [root@centos7 ~]#b=30 [root@centos7 ~]#c=$a+$b [root@centos7 ~]#let c=$a+$b [root@centos7 ~]#echo $c 50
(2) var=$[算術表達式]——var=$[a+b] echo $var
image.png
(3) var=$((算術表達式)) ——echo $((a+b))
(4) var=$(expr arg1 arg2 arg3 ...)——支持數字運算
image.png (5) declare –i var = 數值
image.png
(6) echo ‘算術表達式’ | bc ——計算從1加到100
image.png
乘法符號有些場景中需要轉義,如* ?
bash有內建的隨機數生成器:$RANDOM(0-32767)
echo $[$RANDOM%50] :0-49之間隨機數
賦值
增強型賦值: +=, -=, *=, /=, %= ?
let varOPERvalue
例如:let count+=3 自加3后自賦值 ——let a+= 5 相當于a=a+5?
自增,自減:
let var+=1
let var++ ——
image.png
image.png
let var-=1
let var-
邏輯運算
true, false 1, 0 ?
與: 全是1結果為1,有0則是0
1 與 1 = 1 1 與 0 = 0 0 與 1 = 0 0 與 0 = 0 ?
或:有1則為1,全0則是0
1 或 1 = 1
1 或 0 = 1
0 或 1 = 1
0 或 0 = 0
非:!就是取反
! 1 = 0
! 0 = 1 ?
短路運算
短路與 第一個為0,結果必定為0 ——cmd1 &&cmd2:cmd1為假的時候,不去執行后面的命令,結果也為假
第一個為1,第二個必須要參與運算 ——cmd1 && cmd2:cmd1為真的時候,去執行cmd2,cmd2為真的時候,結果為真,cmd為假的時候,結果為假
短路或 第一個為1,結果必定為1——cmd1 || cmd2:cmd1為真的時候,不去執行cmd2,結果為真
cmd2第一個為0,第二個必須要參與運算 ——?cmd1為假的時候,cmd2為真的時候,去執行cmd2 ,結果為真,cmd2為假的時候,結果為假
異或:^ 異或的兩個值,相同為假,不同為真
例子:當a=5,b=8時,通過異或實現a與b的互換
image.png
條件測試
(1) 判斷某需求是否滿足,需要由測試機制來實現 專用的測試表達式需要由測試命令輔助完成測試過程
(2) 測試命令: test EXPRESSION
image.png
例1:如果比較兩個值相等,則輸出結果顯示為'equal',可以采用短路與來實現 a=xcv,b=xcv
image.png
例2:此時,改變b的值,讓其不等于a,那么采用短路或實現輸出結果為'not equal'
image.png
[ EXPRESSION ] =等價test變量
image.png
在test測試用法中空字符等同于沒有賦值,而給變量賦值0或是空格,就是賦值輸出結果為真
image.png
test:
-n:非空為真判斷變量是否為空一定要加雙引號
image.png
-z:空為真當給sdc賦值后,不再為空,那么空為假,則不執行下面的命令
image.png
數值測試:
-gt 是否大于
-ge 是否大于等于
-eq 是否等于
-ne 是否不等于
-lt 是否小于
-le 是否小于等于
例1:
image.png
例2:
image.png
例3:讀取磁盤分區利用率,如果利用率大于10則報警
image.png
字符串測試:
"在沒有賦值的時候,給字符串加上引號"
== 是否等于 > ascii碼是否大于ascii碼
< 是否小于 != 是否不等于
=~ 左側字符串是否能夠被右側的PATTERN所匹配 注意: 此表達式一般用于[[ ]]中擴展的正則表達式
[[ EXPRESSION ]] ——支持正則表達式
image.png
注意:EXPRESSION前后必須有空白字符,在正則表達式中,字符串不用加引號
image.png
總結
以上是生活随笔為你收集整理的计算机语言中空下划线,2017-7-31 Shell脚本编程基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows无法新建计算机对象,win
- 下一篇: 广文艺计算机综合美术,广东文艺职业学院2