基于yum或apt的linux的bash测试

ser*_*ain 5 bash yum apt-get

简单的问题 - 在bash中测试是否存在yum或apt-get的规范方法是什么?我正在编写一个脚本,它将在客户端机器上运行并同步安装,然后为它创建一个cron作业......

dem*_*ure 9

使用bash脚本(或sh,zsh,ksh),你可以使用内置command -v yumcommand -v apt-get.
(是的,命令命名为命令)

零输出意味着它不在那里,否则你得到命令路径.

然后,您可以使用测试语句来测试结果是否为null.

[ -n "$(command -v yum)" ]
[ -n "$(command -v apt-get)" ]
Run Code Online (Sandbox Code Playgroud)

注意:@ ansgar-wiechers建议的缺点which是如果'yum'不存在则抑制stderr:

[ -n "$(which yum 2>/dev/null)" ]

其中的好处是,它不是内置的shell.