我正在尝试查看/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