shell 運算符章節筆記

// 運算符 
算數運算符  
關係運算符 
布爾運算符  
字符串運算符  
文件運算符 

一、算數運算符 + - * / % = == !=  

echo `expr 1 + 1`;  
echo `expr 1 - 2`;  
echo `expr 1 / 3`;  
echo `expr 1 % 4`;  
echo `expr 1 \* 5`;  // 乘號須要轉義 加反斜槓


a=1. 
b=2  
echo `expr $a - $b` // -1  

if [ $a != $b ]  
then  
  echo "a不等於b"  
fi  


二、關係運算符 -eq -ge -le -ne -gt -lt 

// 關係運算符只支持數字,不支持字符串,除非字符串的值是數字


a=1  
b=2. 

if [ $a -eq $b ]  
then  
echo 'a==b'  
else  
echo 'a!=b'  
fi  

三、布爾運算符 !取反 -o 或 -a 而且

a=1  
b=2. 

if [ $a -eq 1 -a $b == 2 ]  
then. 
echo 'a==1 && b==2'  
fi. 

四、邏輯運算符 && || 外面兩個中括號

a=1  
b=2  

if [[ $a -eq 1 && $b == 2 ]]  
then  
echo 'a==1 && b==2'  
fi  

五、字符串運算符 = 相等 != -z 字符串長度是否爲0 -n 相反 $ 是否爲空  

a='hello'  
b='hi'  

if [ $a = $b ]  
then  
echo 'a字符串和b字符串相等'  
else  
echo  
echo 'a字符串和b字符串不相等'  
fi  

if [ -z $a ]  
then  
echo ‘a字符串長度爲0’  
else  
echo ‘a字符串長度不爲0’  
fi  

if [ $a ]  
then  
echo ‘a字符串不爲空’  
else  
echo ‘a字符串爲空’  
fi  

六、文件測試運算符  

-d 是不是目錄文件  
-f 普通文件  
-r 是否只讀  
-w  
-x  
-s 文件是否爲空. 
-e 文件或目錄是否存在  

if [ -e '~/.ssh/hello.xxx']  
then   
echo 'hello文件存在'  
else  
echo 'hello文件不存在'  
fi 
相關文章
相關標籤/搜索