跳至內容

Expr

出自Taiwan Tongues 台語維基
於 2025年8月22日 (五) 21:15 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

expr是 Unix 佮 Unix-like 作業系統下計算表達式佮輸出相應結果的命令行工具,上早看著是無 Unix v 七。這个命令嘛已經予徙栽到 IBM i 系統上。

概覽

_ expr _ 計算整數或者是字符合表達式,包括正港表達式格式匹配。表達式內底的每一个符號(運算符、值等)著愛以分開的參數傳達。書寫表達式上大的挑戰就是欲避免 Unix shell 將 _ expr _ 愛處理的字符當做控制指令執行動作。

語法

語法:expr _ expression _

三種運算會當用:

  • 整數:加、減、乘、除、求餘數
  • 字符串:匹配正則表達式;某一个版本上猶閣會使查揣一組字符 ( " index " )、子字符串 ( " substr " ),求字符串長度 ( " length " )
  • 兩者攏會當:比較(如:相仝、不等、小於)

示例

下跤是一个牽涉著布爾表達式的(無符合 POSIX 標準)例:

` ` ` expr length " abcdef " " < " 五 " | " 十五-四 " > " 八 ` ` `

這个例會輸出 " 一 "。這是因為 " abcdef " 長為六(也就是大於五), 故 " | " 倒爿表達式返回零;猶毋過「十五孵四」著十一(也就是大於八), 所以正爿表達式為真,予規个表達式為真,所以結果為一。佇遮的示例中,程序退出狀態做零。

佇純算術運算下,通常使用 bc 閣較簡便,是因為伊將規个表達式看做一个參數。比如講:

` ` ` echo " 三 * 四 + 十四 / 二 " | bc ` ` `

佇遮會當徙跤本編程的時," index "、" length "、" match " 和 " substr " 等命令的使用需要避免;字符合作量猶原會當行,毋過著愛使用 " string  : regexp " 語法。

另外去參見

  • Unix 命令列表

參考資料

外部連結

  • ` expr ` :  evaluate arguments as an expression –  命令佮工具(Commands & Utilities)參考,單一 UNIX® 規範第七期,由國際開放標準組織發布
  • expr invocation in GNU coreutils manual