标签: watch-command

使用 watch run 2 命令

我必须在同一个终端窗口中观看两个命令。我的意思是像

watch du -h filename.txt && df -h
Run Code Online (Sandbox Code Playgroud)

但它只显示一个输出。

所以我在想的是可能无法使用 watch 在同一个窗口上运行多个命令。

如果有任何方法,请告诉我。

谢谢你。

command-line bash watch-command

60
推荐指数
3
解决办法
4万
查看次数

如何查看使用 grep 过滤的输出?

我想看输出的变化

gsettings list-recursively|grep text-scal
Run Code Online (Sandbox Code Playgroud)

这是

org.gnome.desktop.interface text-scaling-factor 1.0  
com.canonical.Unity.Interface text-scale-factor 1.0
Run Code Online (Sandbox Code Playgroud)

但如果我试着用

watch gsettings list-recursively|grep text-scal
Run Code Online (Sandbox Code Playgroud)

我没有输出,因为管道似乎是问题所在。

我怎样才能看到变化?

command-line grep gsettings watch-command

53
推荐指数
1
解决办法
3万
查看次数

为什么“watch”命令对别名不起作用?

因此,我制作了自定义的别名命令并尝试将其与 一起使用alias,但在与该命令连接时我的别名未被识别watch

所以我试着把它写成一条线索,幸运的是,这个线索帮助了我。

但这是什么原因呢?

我在 my 中创建了一个别名.bashrc,效果非常好。

alias gpu='sensors nouveau-pci-0100'
alias cpu='sensors coretemp-isa-0000'
Run Code Online (Sandbox Code Playgroud)

当我连接watchgpu喜欢这样时:

watch GPU
Run Code Online (Sandbox Code Playgroud)

我每 2 秒就会收到以下信息:

sh: 1: gpu: not found
Run Code Online (Sandbox Code Playgroud)

我就上面提到的线程解决了这个问题,如下所示:

alias = watchh='watch '
watchh gpu
Run Code Online (Sandbox Code Playgroud)

但为什么会出现这种情况呢?为什么它不能使用我明确定义的别名命令?

我的猜测是,这与用户有关,因为我已经root过一次,并且无法使用我的别名,但我确实需要专家来回答这个问题。

alias users watch-command

15
推荐指数
2
解决办法
2654
查看次数

为什么使用watch时不出现git颜色?

运行时git status -sb我看到:

在此处输入图片说明

我想要watch(来自 procps-ng 3.3.3)一个存储库。该--color选项应该保留颜色。


有趣的是,它适用于ls

$ watch --color "ls --color"
Run Code Online (Sandbox Code Playgroud)

显示:

ls 的输出


但是对于git颜色消失:

$ watch --color "git status -sb"
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明


那么,为什么watch显示ls来自git输出而不是来自输出的颜色?

git watch-command

10
推荐指数
2
解决办法
4031
查看次数

GNU 监视而不擦除以前的输出

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类似的工具可以运行命令并在一行中显示其带有时间戳的输出,而无需删除以前的输出?

command-line watch-command

7
推荐指数
1
解决办法
5892
查看次数

手表在管道传输时切断 ps 辅助输出

在处理一个在这里无关紧要的(Python)脚本时,我遇到了一个非常奇怪的行为,涉及watchand ps aux,当后者通过管道传输到其他东西时。

我已经设法将问题减少到一行。跑步时

watch "ps aux | grep 'ps aux'"
Run Code Online (Sandbox Code Playgroud)

在终端中,正如预期的那样,您通常会得到几行输出。

输出显示 5 个结果

请注意,前三行被切断,ps aux最后几乎不适合。当您将终端的尺寸减小到不再适合的位置时,它会完全从结果中删除。

输出显示 2 个结果

这意味着 grep 只接收截止输出。我对此感到最困惑的是发生这种情况的范围极其有限。这不会发生在任何一个

ps aux | grep "ps aux"
watch "ps u -C ps"
watch "ssh localhost 'ps aux | grep \"ps aux\"'"
Run Code Online (Sandbox Code Playgroud)

在所有这些情况下,列表都按预期环绕。

在 Ubuntu 15.04 上,bash 和 sh 似乎都是这种情况。

虽然我设法在我的脚本中解决了这个问题,但有人对这种行为有任何解释吗?

command-line grep pipe watch-command

7
推荐指数
1
解决办法
5081
查看次数

如何正确引用“watch”的管道命令?

我想在创建文件时关注它。所以我用了这个命令

ls -hal ./file |awk '{print $5}'
Run Code Online (Sandbox Code Playgroud)

这给出了我正在寻找的文件的大小。我使用awk是因为我不需要其他东西,只需要文件大小。

但是我无法在watch命令中使用它,因为如果我尝试

watch ls -hal ./file |awk '{print $5}'
Run Code Online (Sandbox Code Playgroud)

然后 watch 只接受ls -hal ./file然后通过管道将其传送到awk,不提供任何输出。

如果我尝试

watch "ls -hal ./file |awk '{print $5}'"
Run Code Online (Sandbox Code Playgroud)

然后它会变得很奇怪,显示错误的命令和整个输出。

Every 2.0s: ls -hal ./file |awk '{print }'              Sun Jul 20 15:52:18 2014

-rw-rw---- 1 aditya aditya 1.7K Jul 20 15:52 ./file
Run Code Online (Sandbox Code Playgroud)

您可以看到$5awk 命令中没有。

进一步引用会产生各种类似的错误。

那么引用这个命令的正确方法是什么?

command-line watch-command

5
推荐指数
1
解决办法
3960
查看次数

使用正确的颜色查看 git log

我想要watch输出git log --oneline --graph所有颜色,并尝试调整解决方案:Why don't git Colors shown while using watch?,但它只是将(几乎)整个输出呈现为橙色:

输出使用watch -c

$ watch -c git -c color.diff=always log --graph --oneline
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

请注意,从第一个提交哈希开始,所有内容都以橙色打印。这是的输出watch from procps-ng 3.3.10

正常输出=目标

$ git log --graph --oneline
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

附加的输出-c color.diff=always是相同的,cat -A显示正在使用的 ANSI 颜色序列:

$ git -c color.diff=always log --graph --oneline | cat -A
* ^[[33m8ccd905^[[m L
* ^[[33me4ad4f6^[[m E
* ^[[33mf427d2a^[[m U
* ^[[33me8351c8^[[m Z
* ^[[33mf06747c^[[m I
Run Code Online (Sandbox Code Playgroud)

问题

我怎样才能watch git log …

colors command-line git watch-command

5
推荐指数
1
解决办法
1939
查看次数

“watch”命令不适用于别名

watch命令不适用于别名命令。

\n

没有别名:

\n
\xe2\x9e\x9c  scrcpy git:(master) git -P branch\n* master\n\xe2\x9e\x9c  scrcpy git:(master) watch git branch\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n

有别名

\n
\xe2\x9e\x9c  scrcpy git:(master) which gb\ngb: aliased to git branch\n\xe2\x9e\x9c  scrcpy git:(master) watch gb\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n

alias watch-command 20.04

5
推荐指数
1
解决办法
2648
查看次数

无法退出手表

我已经执行

>> watch tree ./
Run Code Online (Sandbox Code Playgroud)

现在我的问题是我无法退出watch- 不关闭终端。

我阅读了手册页,watch但他们没有提到如何退出手表屏幕。

您是否需要使用魔术键组合来退出 watch ?

就像你第一次打开 vim 不知道如何关闭它时遇到的问题一样。

watch-command

4
推荐指数
1
解决办法
6377
查看次数

标签 统计

watch-command ×10

command-line ×6

alias ×2

git ×2

grep ×2

20.04 ×1

bash ×1

colors ×1

gsettings ×1

pipe ×1

users ×1