Ada*_*tan 7 command-line watch-command
gnuwatch是一个非常有用的检查程序输出的工具:它执行程序并每 2 秒全屏显示输出。
有时,我不想删除以前的输出,而是希望逐行打印带有时间戳。为此,我使用 bash 脚本,例如:
while true;
do echo -n "`date` ";
ssh ubuntu@server -o ConnectTimeout=1 "uptime" ;
sleep 1;
done
Run Code Online (Sandbox Code Playgroud)
是否有watch类似的工具可以运行命令并在一行中显示其带有时间戳的输出,而无需删除以前的输出?
我想说你已经在简单的循环中找到了它,但你可以从这里做很多事情:
function uberwatch {
# call: uberwatch <interval> <command>
while true; do
"${@:2}";
sleep $1;
done
}
Run Code Online (Sandbox Code Playgroud)
你可以把它放在你的周围的某个地方~/.bashrc。
watchwatch "command | tee -a watchlog.log"
Run Code Online (Sandbox Code Playgroud)
您仍然只能看到最新的运行情况,但如果需要,您可以挖掘历史日志。