在Bash中使用逻辑运算符时如何不打印错误语句?

How do you not print the error statement when using logical operators in Bash?

假设我有以下脚本:

#!/usr/bin/env bash
git -v || echo "You don't have Git!"

此脚本的目的是检查用户是否有 git 并在没有时显示。在这个脚本中,如果运行它的用户没有 git,它不仅会显示“你没有 Git!”,还会显示一条错误消息:

git: command not found

是否有任何方法可以在 bash 中使用逻辑运算符来模拟 try-catch/try-except 语句,除非在脚本中被告知这样做,否则它不会显示错误消息?

stderr(错误流)重定向到 /dev/null:

git -v 2>/dev/null || echo "You don't have Git!"

另一种选择是获取 git 命令的实际路径:

if gitcmd=$(command -v git)
then
    echo "Git is at $gitcmd"
else
    echo "You don't have Git!"
fi