如何编写 Bash 脚本以获取 Public ip 地址,当一个命令失败时,它必须执行另一个命令

how to write Bash script for getting Public ip address in a way that when one command failed then it have to execute another command

我想编写一个 bash 脚本,如果一个命令失败,则必须执行另一个命令。 例如:- “curl www.ifconfig.me”如果此命令失败,则执行另一个命令“curl http://icanhazip.com”并应显示输出。

如果你想要 HTTP 代码,试试这个:

$ RETURN_STRING=$(curl --silent --url "www.ifconfig.me" --write-out "\nHTTP_CODE:%{http_code}:" | tr "\n" " ")
$ echo $RETURN_STRING 
123.012.234.201 HTTP_CODE:200:

然后:

IP="${RETURN_STRING%% *}"
$ echo $IP
123.012.234.201
$ HTTP_CODE="${RETURN_STRING##*HTTP_CODE:}"
$ HTTP_CODE="${HTTP_CODE%%:*}"
$ echo $HTTP_CODE 
200

之后,您可以检查 HTTP_CODE 值。

2.. => 没关系