Shell 程式設計 : 數值,字元,字串

Rocky_Ansi發表於2015-11-26

數值運算命令

    expr 命令
    expr expression
 
  expression 是由字串 以及 運算子所組成的,每一個字串或說運算子之間必須用空格隔開,
  運算子的優先順序先後排列,可以使用小括號來改變運算的優先順序別,將運算結果輸出到標準輸出裝置上;
  字串比較,比較的方式是以兩字串的第一個字元開始,以第二個字串的最後一個字母結束,如果相同,則輸出第二個字串的字母個數,如果不同則返回0,
  * 乘法 
  / 除法
  % 取餘數
  + 加法
  - 減法
  < 小於
  <= 小於等於
  =  等於
  != 不等於
  >= 大於等於
  >  大於
  &  AND運算
  |  OR 運算
在表示式中含有 * ( ) 等符號的時候,必須在前面加上\ (進行轉義  ),以免被外殼解釋成其他意義
 
 
expr 2\* \( 3 + 4 \)
得出結果 14 ;
 
 
 
test 命令 進行測試 ;; [[  ]]  // 作用相同;
 
1) 整數運算子
int1 -eq int2 如果int1 和i n t 2相等,則返回真。
int1 -ge int2 如果int1 大於等於i n t 2,則返回真。
int1 -gt int2 如果int1 大於i n t 2,則返回真。
int1 -le int2 如果i n t 1小於等於i n t 2,則返回真。
int1 -lt int2 如果i n t 1小於i n t 2,則返回真。
int1 -ne int2 如果int1 不等於i n t 2,則返回真。
 

2) 字串運算子
str1 = str2 如果str1 和s t r 2相同,則返回真。
str1 != str2 如果str1 和s t r 2不相同,則返回真。
str 如果str 不為空,則返回真。
-n str 如果str 的長度大於零,則返回真。
-z str 如果str 的長度等於零,則返回真。
 

3) 檔案運算子
-d filename 如果filename 為目錄,則返回真。
-f filename 如果filename 為普通的檔案,則返回真。
-r filename 如果filename 可讀,則返回真。
-s filename 如果filename 的長度大於零,則返回真。
-w filename 如果filename 可寫,則返回真。
-x filename 如果filename 可執行,則返回真
 
 
4) 邏輯運算子
! expr 如果expr 為假,則返回真。
expr1 -a expr2 如果expr1 和e x p r 2同時為真,則返回真。
expr1 -o expr2 如果expr1 或 e x p r 2有一個為真,則返回真
 
 
 
// 
tcsh表達式的運算子也分為整數運算子、字串運算子、檔案運算子和邏輯運算子四種。
1) 整數運算子
int1 <= int2 如果i n t 1小於等於i n t 2,則返回真。
int1 >= int2 如果int1 大於等於i n t 2,則返回真。
int1 < int2 如果i n t 1小於等於i n t 2,則返回真。
int1 > int2 如果int1 大於i n t 2,則返回真。
2) 字串運算子
str1 == str2 如果str1 和s t r 2相同,則返回真。
str1 != str2 如果str1 和s t r 2不相同,則返回真。
3) 檔案運算子
-r file 如果f i l e可讀,則返回真。
-w file 如果f i l e可寫,則返回真。
-x file 如果f i l e可執行,則返回真。
-e file 如果f i l e存在,則返回真。
-o file 如果當前使用者擁有file ,則返回真。
-z file 如果file 長度為零,則返回真。
-f file 如果file 為普通檔案,則返回真。
-d file 如果file 為目錄,則返回真。
4) 邏輯運算子
exp1 || exp2 如果exp1 為真或exp2 為真,則返回真。
exp1 && exp2 如果exp1 和e x p 2同時為真,則返回真。
! exp 如果exp 為假,則返回真
//
 
 http://www.cnblogs.com/include/archive/2011/12/09/2307905.html
 

相關文章