Estou tentando assistir o número de arquivos no meu /tmp/
diretório. Por isso, pensei que este comando funcionaria:
watch sh -c 'ls /tmp/|wc -l'
Mas parece funcionar como se ls
não tivesse argumentos. Ou seja, estou dentro ~
e recebo o número de arquivos lá em vez de /tmp/
. Encontrei uma solução alternativa, que parece funcionar:
watch sh -c 'ls\ /tmp/|wc -l'
Mas por que preciso escapar do espaço entre ls
e /tmp/
? Como o comando é transformado watch
para que a ls
saída seja alimentada wc
, mas /tmp/
não seja passada como argumento para ls
?
watch
incorretamente .O comando que você passa para watch
por sua vez é alimentada por watch
que sh -c
, então você está na verdade fazendo sh -c
duas vezes.
/tmp
argumento é sh
, nesse caso, não o argumento ls
.
watch "sh -c 'ls /tmp | wc -l'"
esse comando deve ter o efeito desejado. Isto não é relógios culpa, tentativash -c ls /tmp
e você vai ter a sua pasta pessoal (mas não tenho idéia do porquê ...)