Sto provando a guardare il numero di file nella mia /tmp/
directory. Per questo ho pensato che questo comando avrebbe funzionato:
watch sh -c 'ls /tmp/|wc -l'
Ma sembra funzionare come se ls
non avesse argomenti. Vale a dire, ci sono ~
e ottengo un numero di file lì invece di /tmp/
. Ho trovato una soluzione alternativa, che sembra funzionare:
watch sh -c 'ls\ /tmp/|wc -l'
Ma perché devo fuggire dallo spazio tra ls
e /tmp/
? In che modo viene trasformato il comando in watch
modo che l' ls
output sia alimentato wc
, ma /tmp/
non venga passato come argomento a ls
?
watch
in modo non corretto .Il comando che si passa a watch
è a sua volta alimentato da watch
a sh -c
, quindi sei in effetti facendo sh -c
due volte.
/tmp
è un argomento per sh
, in questo caso, non è un argomento per ls
.
watch "sh -c 'ls /tmp | wc -l'"
eseguire questo comando dovrebbe ottenere l'effetto desiderato. Non è colpa degli orologi, provash -c ls /tmp
e otterrai la tua home directory (ma non ho idea del perché ...)