如何使 bash 脚本中的 curl 请求不受干扰?

如何使 bash 脚本中的 curl 请求不受干扰?

在 bash 脚本中,我想要发出一个用户不应打扰的 curl 请求。

trap "cleanup" 1 2 3 13 15

TMP_OUT=$(curl -H "Content-Type: application/json" -X POST -d "$DATA" "${HOST}:${PORT}"'/main/store' 2>/dev/null &)
 wait $!
 if [ $? -ne 0 ]
 then
        fatal "Something went wrong connecting to the service."
 fi

当服务不工作时,我该如何让它工作?0即使 curl 请求的 rc 是7并且脚本继续,等待也会返回,这不应该发生。

答案1

尝试这样的操作:

TMP="$(mktemp)"

curl ifconfig.co 2>/dev/null >"${TMP}" &

wait $!
echo $?

read MY_IP < "${TMP}"
rm "${TMP}"
unset TMP

echo ${MY_IP}

从根本上来说,你需要将有趣的过程作为““ 壳。

在这里我们将其输出重定向到一个临时文件,然后使用来提取它read

相关内容