Shell 学习笔记之运算符
生活随笔
收集整理的這篇文章主要介紹了
Shell 学习笔记之运算符
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
基本運算符
算術運算符
val = expr 2 + 2
需要注意的是
- 表達式和運算符之間需要有空格(比如2 + 2,不能是2+2)
- 兩邊最外面的字符是`,在esc鍵下面,不是引號哦
- 乘號* 前面必須加上反斜杠 \ 才能實現乘法效果,比如 `expr $a \* $b`
- 條件表達式(判斷語句)要放在方括號之間,并且要有空格
- 條件語句為 if...then...else...fi
關系運算符
關系運算符只支持數字,不支持字符串,除非字符串的值都是數字
| -eq | equal,檢測兩個數是否相等,相等返回true |
| -ne | not equal,檢測兩個數是否不相等,不想等則返回true |
| -gt | great then,檢測左邊的數是否大于右邊的數,如果是則返回true |
| -lt | less then,檢測左邊的數是否小于右邊的數,如果是則返回true |
| -ge | great equal,檢測左邊的數是否大于等于右邊的數,如果是則返回true |
| -le | less equal,檢測左邊的數是否小于等于右邊的數,如果是則返回true |
注意的是:
- 運算符有個-,不要漏掉了
布爾運算符
| ! | 非運算符 |
| -o | 或運算 |
| -a | 與運算 |
例子:
if [ $a -lt 5 -o $b -gt 100 ]
邏輯運算符
| && | 邏輯的AND |
例子:
if [[ $a -lt 100 || $b -gt 100 ]] thenecho "返回 true" elseecho "返回 false" fi注意的是:
- 多了個[ ]
字符串運算符
| = | 檢測兩個字符串是否相等,相等的話則返回true |
| != | 檢測兩個字符串是否不相等,不相等則返回true |
| -z | zero,檢測字符串是否為0,為0則返回true |
| -n | not zero,檢測字符串是否不為0,不為0則返回true |
| str | 檢測字符串是否為空,不為空則返回true |
- 除了 = 和 != 是放在兩個字符串變量之間,其它運算符均放在字符串的前面,比如 if [ -z $a ]
文件測試運算符
只選了部分比較常用的文件測試運算符
| -d file | 檢測文件是否是目錄,如果是,則返回 true |
| -r file | read,檢測文件是否可讀,如果是,則返回 true |
| -w file | write,檢測文件是否可寫,如果是,則返回 true |
| -x file | excute,檢測文件是否可執行,如果是,則返回 true |
| -s file | 檢測文件是否為空(文件大小是否大于0),不為空返回 true |
| -e file | 檢測文件(包括目錄)是否存在,如果是,則返回 true |
例子:
file="/var/www/runoob/test.sh"if [ -r $file ] thenecho "文件可讀" elseecho "文件不可讀" fi- read 用于輸入
- 初次聲明變量的時候不需要使用$,后面使用的時候才加上$
轉載于:https://www.cnblogs.com/George1994/p/6667145.html
總結
以上是生活随笔為你收集整理的Shell 学习笔记之运算符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自己寫的 Loading JS插件
- 下一篇: jquery中$each()