2017-10-12 85 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