4

使用简单的 if-then 语句是否有任何功能优势,例如

if [ … ]; then
do

过度使用带有命令组的短路列表评估器,例如

[ … ] && {
}

当然,if-then 是标准的编写方式,但是从功能的角度来看,有什么实际的区别/优势吗?

使用()而不是{}会产生一个新的子shell,从而为 if-then 块内的变量创建一个新的范围。

4

1 回答 1

1

不是你的例子,而是常见的

condition && foo || bar

不一样

if condition
then
  foo
else
  bar
fi

在前一种情况下,bar不仅会在condition失败时运行,而且会在foo失败时运行。

于 2013-07-07T18:45:13.797 回答