shell基本运算符
一、算術(shù)運(yùn)算符
?使用expr或者$(()),+ - × / %
a=10 b=20val1=`expr $a + $b` #變量之間要加空格 對(duì)于乘法*,需添加轉(zhuǎn)義符"\"。 val2=$((a + b)) #變量之間無(wú)需添加空格?
二、關(guān)系運(yùn)算符
只支持?jǐn)?shù)字,不支持字符串,除非字符串的值為數(shù)字。
-eq 相等
-ne 不相等
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于
a=10 b=20if [ $a -eq $b ] #[]與變量之間都要有空格 thenecho "a equal b" elseecho "a not equal b" fi?
三、布爾運(yùn)算符
! 非
-o 或
-a 與
a=10 b=20if [ $a -lt 100 -a $b -gt 15 ] thenecho "a小于100且b大于15為真" fi?
四、邏輯運(yùn)算符
&& 與
|| 或
a=10 b=20if [[ $a -lt 100 && $b -gt 15 ]] #需要兩個(gè)[],注意與上面的-a對(duì)比。 thenecho "a小于100且b大于15為真" fi?
五、字符串運(yùn)算符
= 字符串是否相等
!= 字符串是否相等
-z 字符串長(zhǎng)度是否為0
-n 字符串長(zhǎng)度是否為0
str 字符串是否為空
?
a="abc" b="efg"if [ $a = $b ] thenecho "equal" elseecho "not equal" fiif [ -z $a ] thenecho "0" elseecho "not 0" fiif [ -n $a ] thenecho "not 0" else echo "0" fi
if [ $a ] thenecho "not null" else echo "null" fi
?
六、文件測(cè)試運(yùn)算符
-b file 是否是塊設(shè)備文件
-c file 是否是字符設(shè)備文件
-d file 是否是目錄
-f file 是否是普通文件(不是目錄,也不是設(shè)備)
-g file 是否設(shè)置了SGID位
-k file 是否設(shè)置了粘著位
-p file 是否是有名管道
-u file 是否設(shè)置了SUID位
-r file 文件是否可讀
-w file 文件是否可寫(xiě)
-x file 文件是否可執(zhí)行
-s file 文件是否為空
-e file 文件(包括目錄)是否存在
-L file 文件是否是符號(hào)鏈接文件
-h file 文件是否是軟鏈接文件
file="test.txt"if [ -f $file ] thenecho "file exist!" fi?
轉(zhuǎn)載于:https://www.cnblogs.com/sssblog/p/10186633.html
總結(jié)
以上是生活随笔為你收集整理的shell基本运算符的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: tensorflow 滑动平均使用和恢复
- 下一篇: 2018年12月2526日