我正在尝试查看/tmp/
目录中的文件数。为此,我认为此命令将起作用:
watch sh -c 'ls /tmp/|wc -l'
但这似乎ls
没有任何论据就可以工作。即,我在中~
,在那里我得到的文件数代替/tmp/
。我找到了一种解决方法,该方法似乎可行:
watch sh -c 'ls\ /tmp/|wc -l'
但是,为什么我要逃避之间的空间ls
和/tmp/
?命令如何转换,watch
以便将ls
输出馈送到wc
,但/tmp/
不作为参数传递给ls
?
不是答案,而是您使用
—
iruvar
watch
不正确。传递给的命令watch
反过来又传递给watch
了sh -c
,因此实际上执行了sh -c
两次。
@JacobMinshall,其原因很简单:在这种情况下,它
—
查尔斯·达菲,2016年
/tmp
是的参数sh
,而不是的参数ls
。
watch "sh -c 'ls /tmp | wc -l'"
执行此命令应获得预期的效果。这不是sh -c ls /tmp