I need to, from a bash script, check to see if certain Ruby gems are installed .
I thought I could do something like
if ! gem list <name>; then do_stuff; fi
but testing on the command line using echo $?
shows that gem list <name>
returns 0 regardless of if name is actually found.
Does this mean I have to use grep to filter the output of gem list, or is there a better way I can check to see if a gem is installed?
gem list <name> -i
will return the string true
if the gem is installed and false
otherwise. Also, the return codes are what you would expect.
For more informations, see gem help list
.
Check more discussion of this question.