Adam Matan Asked: 2014-07-23 02:22:28 +0800 CST2014-07-23 02:22:28 +0800 CST 2014-07-23 02:22:28 +0800 CST GNU watch 不删除以前的输出 772 gnuwatch是检查程序输出的非常有用的工具:它执行程序并每 2 秒全屏显示一次输出。 有时,我不想删除之前的输出,而是希望逐行打印并带有时间戳。为此,我使用 bash 脚本,例如: while true; do echo -n "`date` "; ssh ubuntu@server -o ConnectTimeout=1 "uptime" ; sleep 1; done 是否有类似watch工具可以运行命令并在一行中显示带有时间戳的输出而不删除以前的输出? command-line 2 个回答 Voted Best Answer Oli 2014-07-23T03:11:06+08:002014-07-23T03:11:06+08:00 我会说你已经在简单的循环中找到了它,但你可以从这里做很多事情: 写一个函数来为你处理 function uberwatch { # call: uberwatch <interval> <command> while true; do "${@:2}"; sleep $1; done } 你可以把它放在你的周围的某个地方~/.bashrc。 将输出记录到文件但继续查看watch watch ... "command | tee -a watchlog.log" 您仍然只能看到最新的运行,但如果需要,您可以挖掘历史日志。 Jay 2021-11-03T12:17:35+08:002021-11-03T12:17:35+08:00 虽然真实;做日期 >> /vat/tmp/watch.log;睡眠 600;ls -l 文件名 >> /var/tmp/watch.log;完毕 我喜欢上面 Artem 提到的 while 循环,但我希望将数据存储在一个文件中,这样我可以在返回时对其进行分析,因此将重定向添加到文件中。在我的例子中,每 10 分钟查看一次文件,并使用 ls -l 查看文件大小 -周杰伦
我会说你已经在简单的循环中找到了它,但你可以从这里做很多事情:
写一个函数来为你处理
你可以把它放在你的周围的某个地方
~/.bashrc
。将输出记录到文件但继续查看
watch
您仍然只能看到最新的运行,但如果需要,您可以挖掘历史日志。
虽然真实;做日期 >> /vat/tmp/watch.log;睡眠 600;ls -l 文件名 >> /var/tmp/watch.log;完毕
我喜欢上面 Artem 提到的 while 循环,但我希望将数据存储在一个文件中,这样我可以在返回时对其进行分析,因此将重定向添加到文件中。在我的例子中,每 10 分钟查看一次文件,并使用 ls -l 查看文件大小
-周杰伦