很多SH代碼如下所示:
$cmd
if [ $? = 0 ]; then $cmd2; fi
相反的:
if $cmd; then $cmd2; fi
我也通常假定人們使用前者,只是因爲他們不知道的是,後者的語法是有效的,但我想知道是否還有其他原因(雖然想到的唯一可能性是可移植性)。是否有任何理由更願意明確引用$ {?} ?.
所以,假設我有一個命令,foo,在一個既有返回值又有我感興趣的輸出字符串的腳本中,並且我想將它們存儲到一個變量中(至少它的輸出爲變量,其返回值可用於條件)。 例如: a=$(`foo`) # this stores the output of "foo"
if foo; then # this uses the return value
stuff...
fi
,我能想到的,以捕
我有兩個變量,一個是文本,另一個是模式。我想過濾掉線條,匹配的圖案。我怎樣才能做到這一點? 我的劇本是這樣的 # get ignore files list
IGNORE=`cat ignore.txt`
# get changed files list
CHANGED=`git diff --name-only $LAST_COMMIT HEAD`
# remove files, t