成功启动弹性搜索后如何执行操作

时间:2015-12-11 17:50:00

标签: bash shell elasticsearch

我必须创建一个shell脚本来从shell命令开始弹性搜索,并且在成功启动弹性搜索后,我必须执行某些操作。 在我的情况下,弹性搜索开始但在此之后没有任何事情发生,甚至echo命令都不起作用。

以下是代码示例:

elasticsearch-1.7.2/bin/elasticsearch   

res=$( curl -w %{http_code} -s --output /dev/null http://localhost:9200)
if [ $res -eq 200 ]
then 
        echo "Elastic search running successfully"  
        Perform operation
fi

谢谢,

1 个答案:

答案 0 :(得分:1)

shell脚本在执行时会执行1行,并且在当前行完成之前不会移动到下一行(命令)。

您可以使用&字符在后台运行命令,然后可以按顺序执行其余命令。

这样的东西
#!/bin/bash
elasticsearch-1.7.2/bin/elasticsearch &

/bin/sleep 30 # change to num secs needed for ES to start correctly

res=$( curl -w %{http_code} -s --output /dev/null http://localhost:9200)
if [ $res -eq 200 ]
then 
        echo "Elastic search running successfully"  
        Perform operation
fi

可能有帮助。