如何在bash中运行命令并获取输出

时间:2015-12-10 18:34:26

标签: bash

我想在bash中运行以下命令

ruby ......

成功时,命令会输出字符串“Created all things”。

如何运行命令并检查文本Created all things的输出以确保它成功,以便我可以使用bash运行其他命令?

2 个答案:

答案 0 :(得分:1)

您可以使用$(...)语法将输出保存在变量中,然后执行常规的bash检查,如:

output=$(ruby ....)
if [ "$output" = "Created all things" ]; then
    # success, keep going
else
    # failure, clean up
fi

鉴于你想要查看它是否以该字符串结尾的评论,你可以改为使用bash正则表达式:

if [[ "$output" =~ Created\ all\ things$ ]]; then
...

答案 1 :(得分:0)

与Eric编写的内容类似,但这将在整个输出中搜索字符串,而不仅仅是结尾。

results=$(ruby.......)
 if [[ $(echo ${results} | grep -c "Created all things") != "0" ]] ; then
    echo "Command appears to be successful"
 else
    echo "Command appears to have failed"
 fi