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 lsnon 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 lse /tmp/? In che modo viene trasformato il comando in watchmodo che l' lsoutput sia alimentato wc, ma /tmp/non venga passato come argomento a ls?
watchin modo non corretto .Il comando che si passa a watchè a sua volta alimentato da watcha sh -c, quindi sei in effetti facendo sh -cdue 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 /tmpe otterrai la tua home directory (ma non ho idea del perché ...)