我习惯于等到服务启动并运行,但在第一次尝试连接并失败整个脚本退出后使用 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
我的建议是不要使用输出,而是使用 curl 的返回代码,怎么样?
getX(){
result=`curl --fail domain.com` --> should return an array
rc=$?
}
test(){
getX
while [ $rc -ne 0 ]
do
echo "waiting"
getX
done
}
test
这永远不会导致数组的元素为零。请改用while [ -z "${result[0]}" ]
。此外,将 curl 的--fail
替换为 -s
。