是否有任何区别(性能、兼容性、良好实践等)
if [[ condition ]]
then do something
fivs使用类似于
[[ condition ]] && statement that executes if condition=true或
[[ condition ]] || echo 'error'我一直在使用后一种结构,因为它节省了一些空间。这并不冗长,但我认为我的意图已经足够清楚了。
但我的问题是,除了冗长之外,是否还有区别。如果我必须构造一个更复杂的语句,那么,使用第二种样式,我将不得不在其他语句中嵌套一些括号,这将变得很难阅读。嵌套if语句要容易得多(因为大多数人都使用缩进等)。这是使用if,elif,fi的唯一好处吗?
发布于 2017-07-21 18:29:31
可能会有更多关于代码审查的主题,但是:
当do something有多个命令时,或者需要else分支时,if-then形式最有用。
短路版本很容易理解,而且是可链接的。这主要是一个风格问题,而不是一个真正的编程问题。
我的许多shell脚本都以
die() {
echo "$@" >&2
exit 1
}然后,我可以编写测试,例如:
test -d "$2" || die "$0: $2 is not a directory"
test -r "$2" && test -x "$2" || die "$0: $2 cannot be read"https://stackoverflow.com/questions/45214119
复制相似问题