$dig +noall +answer www.Google.com | \> awk '{ print }' | \> { read secs; echo "`expr $secs / 60`m `expr $secs % 60`s remaining ($secs)"; }
输出:
3m 36s remaining (216)
我希望能够将watch命令包围起来,以便我可以让它在终端中运行并获得实时倒计时.就像是:
$watch -n 10 "dig +noall +answer www.Google.com | \> awk '{ print }' | \> { read secs; echo '`expr $secs / 60`m `expr $secs % 60`s remaining ($secs)'; }"
但这只会导致一个非功能性的监视实例,其后是:
expr: Syntax error
我很确定这是一种管道/引用问题,我不是那么精通错综复杂的东西.为了便于携带,我宁愿将其保留为单行而不是诉诸需要保存到磁盘的脚本.有谁知道正确的方法来实现这一目标?
解决方法 首先,您需要避免使用expr.它很少使用.相反,我在这里的版本完全相同.与上述差别不大:watch -n1 'dig +noall +answer Google.com | \ awk "{print $2}" | \ { read secs; echo "$((secs / 60 ))m $((secs % 60))s remaining $((secs))";}'
另一种可以使用tmux或screen使用的方法
while sleep 1; do dig +noall +answer Google.com | \ { while read -r secs; do echo "$((secs / 60 ))m $((secs % 60))s remaining $((secs)) seconds"; done < <(awk '{print }' | \ head -n1 ); }; done
祝好运.
总结以上是内存溢出为你收集整理的linux – Bash one-liner,显示正在运行的倒计时,直到DNS更新(TTL到期)全部内容,希望文章能够帮你解决linux – Bash one-liner,显示正在运行的倒计时,直到DNS更新(TTL到期)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)