我正在编写一个 bash 脚本,其中包含一个简单的 if 部分,其中有两个条件:
if [[ -n $VAR_A ]] && [[ -n $VAR_B ]]; then
echo >&2 "error: cannot use MODE B in MODE A" && exit 1
fi
Run Code Online (Sandbox Code Playgroud)
一位高级工程师审查了我的代码并评论道:
当您可以简单地执行后续行中的两个命令时,请避免使用 && 。
他没有进一步解释。但出于好奇,我想知道这是否属实,以及避免使用&&.
我正在写一个 bash 脚本。
根据这篇原始文章,我了解到如果 var未设置或为空,则c=${a:-b}可以使用它来设置变量。ca
我想知道我们是否可以将这种情况扩展到将命令的输出分配给变量。例如,我有一个 bash 命令,我可以将它分配给some commandvarc
c=$(some command)
Run Code Online (Sandbox Code Playgroud)
但我还想包括这样的情况:如果 的输出为some command空,我会为 c 指定另一个默认值。
我知道我可以if-else在 bash 脚本中编写普通的代码,但只是想知道是否有类似的更优雅的方式c=${a:-b}?