是否可以用括号代替“then”?

是否可以用括号代替“then”?

我首先学习了如何用一种C语言编码,并使用

if ( code )
then 
code
fi

让我很难阅读我的代码(不要问为什么)。有替代品吗then

像这样的东西:

if ( code ) {
 code
}
fi

答案1

没有替代品,但如果您确实需要大括号,则可以同时使用两者:

if true ; then {
    something
} fi

这使用了不必要的显式支撑指挥组作为身体then堵塞。运行时,大括号中的任何命令都将在当前 shell 中执行then,就像大括号不存在一样。

一般来说,我不会真正推荐这种风格,或者对于其他人需要阅读的代码,但它确实为您提供了您想要的大括号,并且如果您使用需要大括号的编辑器或类似的事情。

答案2

您似乎正在寻找C壳cshtcsh, ETC...)。意识到专家建议不要用它来编程

我不确定您认为不吸引人的部分是否是then以下行中的事实?如果是这样,请考虑使用以下样式:

if condition; then
    stuff
fi

我必须承认,像fiforifesacfor case(但不是elihwfor while!)这样的倒序拼写语句名称有点奇怪。但这是标准的 Bourne shell,是您可以使用的最可移植的 shell 语法。

答案3

也许这对眼睛来说更容易:

[ condition ] && {
   # statement 1
   # statment 2
   # ...
}

除此之外,只要习惯就好。使用该语言的习语。

答案4

这是一个方法:

[ "$var" = "find" ] && echo "found"

相当于:

if [ "$var" = "find" ]; then
  echo "found"
fi

相关内容