冒號“:”命令簡析
冒號命令是一個控命令.它偶爾會被用來簡化邏輯條件,相當於true的一個假名.因為它是內建的,所以它比true運行的要快,但它的可讀性要差了不少. 讀者可能會在while循環的某個條件裡面看到它,"while :" 表示這是一個無限循環,相當於更常見的"while true". ":"還被用在對變量進行條件化設置的情況下,比如說
1
:${var:=value}
如果沒有":",shell會嘗試把$var解釋為一個命令.
在某些舊的shell腳本程序裡,你會導刊冒號被用在一行的開始以引起一個注釋,但現代的腳本程序總是用"#"來開始一個注釋行,因為這樣做的執行效率更高.
01
#!/bin/sh
02
03
rm -f fred
04
05
if [ -f fred ]; then
06
:
07
else
08
echo file fred did not exist
09
fi
10
11
exit 0