当我运行已经安装的yum install <X>
位置时,退出并返回状态 1 并打印“错误:无事可做”。<X>
yum
除了检查输出中的这个字符串(这对于我的脚本来说似乎是一个非常不稳定的事情)之外,还有什么方法可以测试该包是否已经存在?显然,yum 知道它是否已经存在,因为它抛出了该错误,但我如何访问该知识?
除此之外,某些包是通过 URL(而不是包名称)下载的,因此检查yum list installed
不起作用。
答案1
在您的脚本中使用rpm -q packagename
:
if rpm -q vim-enhanced
then
echo "Already installed vim-enhanced"
else
echo "Install vim-enhanced"
fi
答案2
你可以试试:
#yum list installed | grep tmux
tmux.x86_64 1.9a-5.fc21 @updates
或者:
#yum list installed tmux
Loaded plugins: langpacks
Installed Packages
tmux.x86_64 1.9a-5.fc21 @updates
无需grep
额外的行,但两个输出都可以根据您的需要通过某些文本编辑器进行管道传输。