url="http://localhost:8080/matlib"
until $(curl "$url" --max-time 10) == 0; do stuck_pid=$(chown_pid); kill -9 $stuck_pid && "killing chmod process";done
我试图做的是卷曲这个地址,如果它在10秒后超时,那么就称之为PID。
失败的部分是' == 0',这里的目的是将curl的返回码与0进行比较,但我收到以下错误:
-bash: ==: command not found
答案 0 :(得分:1)
这确实是问题所在:
$(curl "$url" --max-time 10) == 0
==
运算符必须位于[[ ... ]]
或[ ... ]
方括号内。
但是,由于您正在执行curl
或命令替换,因此您不会比较curl
的退出状态,而是$(...)
的输出。
你应该只使用:
until curl "$url" --max-time 10; do ...; done