以下命令将解析谷歌的IP地址
> ip=`dig +short google.com`
> echo $ip
> 216.58.210.238
有时候(尤其是在网络连接中断时),这个命令会因为这个错误而失败。> ;; connection timed out; no servers could be reached
当命令失败时,我使用 $#
作为赋值操作的输出为0。
> ip=`dig +short google.com`
> echo $#
> 0
> echo $ip # Command failed
> ;; connection timed out; no servers could be reached
如何将命令的输出保存到变量中,并检查命令是否成功?
$?
的东西!如果我没错的话,我可以把里面的true
移除,并且利用调用命令的退出代码,对吗?毕竟,在这种情况下,如果命令失败,后面的true
会屏蔽错误并返回退出码 0,使得if
总是走积极路径,对吗? - João Cioccatrue
作为一个占位符,用于表示一个以 true 退出的命令 - 你绝对不需要它。 - Swiss