简单的问题——在 bash 中测试 yum 或 apt-get 是否存在的规范方法是什么?我正在编写一个脚本,它将在客户端机器上运行并安装一致,然后为它创建一个 cron 作业......
问问题
4658 次
3 回答
14
使用 bash 脚本(或 sh、zsh、ksh),您可以使用内置command -v yum
和command -v apt-get
.
(是的,命令被命名为命令)
零输出意味着它不存在,否则您将获得命令路径。
然后,您可以使用测试语句来测试结果是否为空。
[ -n "$(command -v yum)" ]
[ -n "$(command -v apt-get)" ]
注意:@ansgar-wiechers 建议的一个缺点which
是如果 'yum' 不存在,则抑制 stderr:
[ -n "$(which yum 2>/dev/null)" ]
一个好处是,它不是内置的 shell。
于 2013-05-16T21:07:18.953 回答
2
我可能会使用which
:
[ -n "$(which apt-get)" ]
[ -n "$(which yum)" ]
于 2013-05-16T21:12:09.163 回答
1
command -v apt-get &>/dev/null
于 2014-07-27T15:04:33.743 回答