4
是否有使用簡單的IF-THEN語句如功能差
if [ … ]; then
do
過度使用短路列表評估用的命令組,如
[ … ] && {
}
的任何功能優點
當然,如果 - 那麼寫它的標準方式,但是從功能的角度來看,是否存在任何實際的差異/優勢?
使用()
而不是{}
會產生一個新的子shell,從而爲if-then塊內的變量創建一個新的作用域。
是否有使用簡單的IF-THEN語句如功能差
if [ … ]; then
do
過度使用短路列表評估用的命令組,如
[ … ] && {
}
的任何功能優點
當然,如果 - 那麼寫它的標準方式,但是從功能的角度來看,是否存在任何實際的差異/優勢?
使用()
而不是{}
會產生一個新的子shell,從而爲if-then塊內的變量創建一個新的作用域。
不是你的榜樣,但常見
condition && foo || bar
是不一樣的
if condition
then
foo
else
bar
fi
在前一種情況下,bar
將運行不僅當condition
失敗,但如果foo
失敗。
會和笨拙的'condition && {foo;假; } ||酒吧「,對吧? – knittl
如果你的意思是'condition && {foo;真正; } ||酒吧「,然後是的。 –
嗯,是的,我的意思是寫'condition && {foo; :; } ||酒吧' – knittl