我需要从bash脚本中检查是否安装了某些
Ruby gem.
我以为我可以做点什么
if ! gem list <name>; then do_stuff; fi
但是使用echo $在命令行上测试?显示宝石列表< name>无论是否实际找到名称,都返回0.
这是否意味着我必须使用grep来过滤gem列表的输出,还是有更好的方法可以检查是否安装了gem?
宝石列表< name>如果安装了gem,-i将返回字符串true,否则返回false.此外,返回
代码是您所期望的.
有关更多信息,请参阅gem帮助列表.
编辑:@Riateche正确观察到,如果您搜索的宝石名称是其他已安装宝石的子串,则可能会出现误报.要避免这种情况,请使用正则表达式语法:
gem list '^<name>$' -i
(示例:gem list’^ mini $’ – i).