Linux检测命令是否存在

时间:2022-06-01 19:51:25

兼容POSIX的command

如果要兼容POSIX的话可以使用command:

command -v <the_command>

使用示例:

if ! [ -x "$(command -v git)" ]; then
  echo 'Error: git is not installed.' >&2
  exit 1
fi

Bash的bash或type

bash环境可以使用bash 或 type:

hash <the_command> 
type <the_command> 

示例:检查gdate是否存在

gnudate() {
    if hash gdate 2>/dev/null; then
        gdate "$@"
    else
        date "$@"
    fi
}