我喜欢这个watch命令,但它有它的局限性。
我很想知道我是否可以模仿watchwith的功能less。我主要是寻找滚动浏览我的目录的能力,因为它通过运行脚本动态修改。
我通常使用watchLinux 实用程序每隔n几秒重复观察一个命令的输出,例如在watch df -h /some_volume/.
但是我似乎无法使用watch管道命令系列,例如:
$ watch ls -ltr|tail -n 1
Run Code Online (Sandbox Code Playgroud)
如果我这样做,watch真的ls -ltr是在观察并且输出被传递给tail -n 1不输出任何东西。
如果我试试这个:
$ watch (ls -ltr|tail -n 1)
Run Code Online (Sandbox Code Playgroud)
我得到
$ watch: syntax error near unexpected token `ls'
Run Code Online (Sandbox Code Playgroud)
并且以下任何一种原因都失败了:
$ watch <(ls -ltr|tail -n 1)
$ watch < <(ls -ltr|tail -n 1)
$ watch $(ls -ltr|tail -n 1)
$ watch `ls -ltr|tail -n 1)`
Run Code Online (Sandbox Code Playgroud)
最后,如果这样做:
$ watch echo $(ls -ltr|tail -n 1) …Run Code Online (Sandbox Code Playgroud) 我在 Windows XP 上安装了 Cygwin 以使用它的一些命令。现在我每 2 分钟检查一次文件并想为此目的使用 watch 但我看到 Cygwin 没有这样的命令。这是真的吗?我该怎么办?
我使用该watch命令查看我的目录内容随着脚本在其上运行而发生的变化(通过watch ls dir/)
这是一个很棒的工具,除了一旦条目数量填满屏幕的垂直长度,我似乎无法向下或向上滚动以查看所有内容。
有没有办法做到这一点?
有时我会重新启动设备,并需要ssh在设备准备就绪后重新启动。
我想每 5 秒运行一次 ssh 命令,直到命令成功。
我的第一次尝试:
watch -n5 ssh me@device.local && exit 1
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我想对添加到日志文件中的每分钟行数进行一些简单的计算。我还想存储每秒的计数。
我需要的是以下命令的输出作为列表,该列表将每秒更新:
watch -n1 'wc -l my.log'
Run Code Online (Sandbox Code Playgroud)
如何将“监视”命令的“更新”作为列表输出?
watch 命令的最小间隔是多少?
手册页和 Google 搜索未指明最小间隔下限是多少。我通过实验发现它可以小于1秒。
为了测试,我在防火墙上运行了这个命令:
watch -n 0.1 cat /sys/class/net/eth1/statistics/rx_bytes
Run Code Online (Sandbox Code Playgroud)
它的更新速度明显快于一秒,但不清楚它是否真的在进行 100ms 更新。
当我运行时:
watch 'cmd >> output.txt' &
Run Code Online (Sandbox Code Playgroud)
作业被系统暂停:
3569 停止(tty 输出)
有解决方法吗?
问题是当 watch 被执行时它会运行sh并且我收到这个错误:
sh: 1: func1: not found
Run Code Online (Sandbox Code Playgroud)
这是代码:
#!/bin/bash
func1(){
echo $1
}
export -f func1
watch func1
Run Code Online (Sandbox Code Playgroud) 我试图watch从“git status”中显示颜色。
我已经尝试使用该--color选项运行 watch ,正如此处其他地方所建议的那样,但仍然watch --color 'git status'不显示颜色。