中括號
中括號分為單中括號[],和雙中括號[[]],中括號一般用於表達式判斷中,小括號也可以用於表達式,這個後面提到。
單中括號[]
A=5 B=3 [ $A -eq $B ] 判断A是否等于B [ ${A} -eq ${B} ] 作用同上 [ "${A}" -eq "${B}" ] 作用同上
A=ABC [ $A == "ABC" ] 或写成 [ ${A} == "ABC" ] 或写成 [ "${A}" == "ABC" ] [ $A \> "ABC" ]
[ -d ./aaa.sh -a -e ./bbb ] 测试aaa.sh是否为目录并且bbb是否存在,如果都符合则返回真 [ -d ./aaa.sh -o -e ./bbb ] 测试aaa.sh是否为目录并且bbb是否存在,满足一个条件则返回真
括號變數與運算子之間也要有空格
變數可以直接用$來引用,也可以使用${}以及"${}"來引用,雖然可以直接使用${},但是建議還是用"${} ",或直接用$,來引用變數
字串要用雙引號引起來
字串比較一般使用==來做字串是否相同測試,使用進行大小比較,在單中括號中將字元進行大於和小於的比較要用轉移>和
另外在單中括號中還可以使用-a和-o這樣的邏輯運算子
雙中括號[[A=5 B=3 [[ $A -eq $B ]] 判断A是否等于B [[ ${A} -eq ${B} ]] 作用同上 [[ "${A}" -eq "${B}" ]] 作用同上
雙中括號的使用和單中括號的使用規則類似
雙中括號中間字符串的大於小於比較不需要轉義,且字串可以不用雙引號引用
雙中號括號裡面可以使用&&、||做邏輯運算子
雙中括號裡面還可以做模糊匹配,使用=~表達式2可以是正規表示式
A=ABC [[ $A == "ABC" ]] 或写成 [[ ${A} == "ABC" ]] 或写成 [[ "${A}" == "ABC" ]] 或写成 [[ $A == ABC ]] [[ $A > "ABC" ]]
[[ -d ./aaa.sh && -e ./bbb ]] 测试aaa.sh是否为目录并且bbb是否存在,如果都符合则返回真 [[ -d ./aaa.sh || -e ./bbb ]] 测试aaa.sh是否为目录并且bbb是否存在,满足一个条件则返回真
括號單小括號單獨使用是表示指令組,會透過子shell的方式依序執行括號中的指令
A=ABC [[ $A =~ "A" ]] 做模式匹配,这个表达式为真 或写成 [[ ${A} =~ "A" ]] 或写成 [[ "$[A]" =~ "A" ]] [[ $A = A* ]] 表达式为真 [[ $A = B* ]] 表达式为假最常見的用法這是指令替換中使用,指令也可以使用反引號``
[ 表达式1 -a 表达式2 ] 等效于 [[ 表达式1 && 表达式2 ]] 等效于 [ 表达式1 ] && [ 表达式2 ] 等效于 [[ 表达式1 ]] && [[ 表达式2 ]]
[ 表达式1 -o 表达式2 ] 等效于 [[ 表达式1 || 表达式2 ]] 等效于 [ 表达式1 ] || [ 表达式2 ] 等效于 [[ 表达式1 ]] || [[ 表达式2 ]]
While語句的形式
(ls ./;echo "hello";mkdir -p /tmp/ccc)

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

WebStorm Mac版
好用的JavaScript開發工具