如何编写 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.. => 没关系
我想编写一个 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.. => 没关系