我声明了一个ifconfig
在脚本中使用的 IPv6 地址。然后立即使用此地址侦听 TCP 端口。
当我像这样编写脚本时,它失败了,因为服务无法侦听:
ifconfig igb0 inet6 2001:db8::10/64 add
service my_service start #fails
Run Code Online (Sandbox Code Playgroud)
但是,当我这样做时它会成功:
ifconfig igb0 inet6 2001:db8::10/64 add
sleep 1
service my_service start
Run Code Online (Sandbox Code Playgroud)
我尝试ifconfig
在运行 -add
操作后直接编写输出。似乎ifconfig
将 IP 地址报告为暂定的,这显然阻止了服务侦听它。
自然地,等待一秒钟并希望地址可用并不是处理这个问题的好方法。如何等待暂定地址可用,或ifconfig
稍后返回以便地址全部设置?