&- || { echo >&2 "I require fo-6ren">
gpt4 book ai didi

bash - Shell 脚本 "|| { }"可读替代

转载 作者:行者123 更新时间:2023-11-29 09:08:19 25 4
gpt4 key购买 nike

当我遇到 this answer 时,我正在寻找一种方法来检查是否使用 Shell 脚本安装了程序。其中包含此代码:

hash foo 2>&- || { echo >&2 "I require foo but it's not installed.  Aborting."; exit 1; }

但是该代码不是很(人类)可读,该语法的替代方案是什么?

最佳答案

可读性是非常主观的。我特别认为原文非常可读,一旦你知道 || 表示短路 OR。因此,您将原文解读为“执行此操作,如果失败则执行此操作”。

不使用 || 的等效代码是:

if ! hash foo 2>&-
then
echo >&2 "I require foo but it's not installed. Aborting."
exit 1
fi

关于bash - Shell 脚本 "|| { }"可读替代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8767231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com