使用系统自带命令
command -v [cmd]
来判断指定的命令是否可用。
- 当指定的命令可用时,会将命令所在的路径输入到标准输出,并且命令的执行完> 的退出状态码是 0
- 当指定的命令不可用时,没有任何输出,命令执行完的退出状态码不为 0
command -v brew # 1
echo "command -v brew 命令的退出状态是:$?" # 2
command -v vault # 3
echo "command -v vault 命令的退出状态是:$?" # 4
上面一段脚本的输出结果为
/usr/local/bin/brew
command -v brew 命令的退出状态是:0
command -v vault 命令的退出状态是:1
-
第1行命令
command -v brew
检测到brew
命令可用,并且打印出brew
命令所在的路径。 -
第2行命令打印了上一行命了执行完的退出状态码是
0
,说明brew
命令可用。 -
第3行命令
command -v vault
检测到vault
命令不可用,没有任何输出。 -
第4行命令打印了上一行命了执行完的退出状态码是
1
,说明vault
命令不可用。
$?
:可以获取上一行命令的退出状态码。在 shell 脚本中,退出状态码是0
表示成功。
使用示例
if command -v brew; then
echo "brew 命令可用,准备安装 CocoaPods"
brew install cocopods
fi
网友评论