2017-10-12 86 views
0

我想写一个bash脚本,检查是否安装了宝石。如果创业板安装我会尽选项A.如果没有,我会做的选择B.Bash脚本与IF语句,执行“宝石”,并检查结果

要查看是否安装了宝石,我使用:

gem list -i "^gemname$" 

这将打印“真”或“假”到屏幕上。我认为它输出文字“真”和“假”,但我不确定它本身是否有返回值。

宝石我寻找是 “xcpretty” 然后我的脚本:

if [[$(gem list -i "^xcpretty$") == true]]; then 
    echo "Found XCPRETTY do other things" 
else 
    echo "Cant find XCPRetty do things" 
fi 

这失败,出现错误: .xxxxx:第1行:[错误:找不到命令

由于gem没有安装在我的系统上,它返回“false”。但是,我如何比较它返回的“false”?

谢谢!

+0

另外,我这个检查一个: https://unix.stackexchange.com/questions/52800/how-to-do-an-if-statement-from-the-result-of-a - 执行命令 但它不完全符合我所寻找的 – SpecialEd

回答

2

[[之后和]]之前增加空格。

[[ $(gem list -i "^xcpretty$") == true ]] 
+0

哦谢谢,就是这样! – SpecialEd