概述
expr 命令用於執行算術、關係、邏輯和字串運算。每個參數都被視為單獨的標記,因此在運算符和操作數之間需要空格。
主要特點
- 算術運算(加、減、乘、除、取餘)
- 字串運算(長度、子字串、索引、正規表示式匹配)
- 關係運算(等於、不等於、大於、小於)
- 邏輯運算(AND、OR)
主要運算符
expr 命令使用各種運算符來評估表達式。每個運算符都應被視為單獨的參數。
算術運算符
關係運算符
邏輯運算符
字串運算符
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`expr` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
基本算術運算
expr 10 + 5
將兩個數字相加。
變數與乘法運算
num=20
expr $num \* 3
使用變數值執行乘法。由於乘法運算符 (*) 在 shell 中具有特殊含義,因此需要進行逸出。
獲取字串長度
expr length "Hello World"
返回給定字串的長度。
提取子字串
expr substr "example" 3 4
從字串 'example' 的第 3 個位置開始提取 4 個字元。
正規表示式匹配與提取
expr "filename.tar.gz" : ".*\.\(tar\.gz\)"
從字串中提取與正規表示式匹配的部分。括號內的內容將作為子匹配返回。
邏輯 AND 運算
expr 5 \& 0
如果兩個操作數均非零,則返回第一個操作數。由於 & 在 shell 中用於背景執行,因此需要進行逸出。
提示與注意事項
使用 expr 時的注意事項和有用提示。
主要注意事項
- **必須有空格**:運算符和操作數之間必須有空格。
- **逸出**:在 shell 中具有特殊含義的字元(例如 `*`, `(`, `)`, `&`, `|`, `<` 等)需要用反斜杠 (`\`) 進行逸出或用引號括起來。
- **整數運算**:`expr` 預設僅支援整數運算。如果需要浮點數運算,則應使用 `bc` 等其他工具。
- **儲存結果**:`expr` 的結果會輸出到標準輸出,因此要將其儲存到 shell 變數中,需要使用命令替換(例如 `result=$(expr 10 + 5)` 或 `result=`expr 10 + 5``)。