Bash 中括號 vs 雙中括號 ([ vs [[)

starzodiac
Feb 2, 2021

--

根據這篇描述,雙中括號是中括號的改良版本,執行到該行時會展開變數,而且重點是不會有空格的問題:

if [ -f "$file" ]等於if [[ -f $file ]]

不然以前真的會需要加 $"{}" 加到起笑,再來是 ~= 支援 Pattern Matching( regular expression,regex) 的功能:

if [[ $answer =~ ^y(es)?$ ]]orif [[ $a == +(some|any)thing ]]

總之,終於可以讓 shell script 少幾個字了…

--

--

No responses yet