简单的问题 - 在bash中测试是否存在yum或apt-get的规范方法是什么?我正在编写一个脚本,它将在客户机上运行并同步安装,然后为它创建一个cron作业......
答案 0 :(得分:8)
使用bash脚本(或sh,zsh,ksh),您可以使用内置command -v yum
和command -v apt-get
。
(是的,命令命名为命令)
零输出意味着它不存在,否则你得到命令路径。
然后,您可以使用测试语句来测试结果是否为null。
[ -n "$(command -v yum)" ]
[ -n "$(command -v apt-get)" ]
注意:@ ansgar-wiechers的建议which
的缺点是如果'yum'不存在则抑制stderr:
[ -n "$(which yum 2>/dev/null)" ]
其优点是,它不是内置的shell。
答案 1 :(得分:2)
我可能会使用which
:
[ -n "$(which apt-get)" ]
[ -n "$(which yum)" ]
答案 2 :(得分:1)
command -v apt-get &>/dev/null