我用来等待服务启动并运行,但是在第一次尝试连接后使用curl并使整个脚本退出失败。 如何在卷曲失败后避免退出?我曾尝试在卷曲上使用--fail,但没有。
这是我的代码
#!/bin/bash
getX(){
echo `curl --fail domain.com` --> should return an array
}
test(){
result=`getX`
while [ ${#result[@]} -eq 0 ]
do
echo "waiting"
result=`getX`
done
}
test
答案 0 :(得分:2)
我的建议是不要使用输出,而是curl的返回码,那怎么样?
getX(){
result=`curl --fail domain.com` --> should return an array
rc=$?
}
test(){
getX
while [ $rc -ne 0 ]
do
echo "waiting"
getX
done
}
test
答案 1 :(得分:1)
这永远不会导致数组为零。
请改用while [ -z "${result[0]}" ]
。另外,将curl的--fail
替换为-s
。