A saída é estática porque $()
é resolvido pelo seu shell antes de watch
iniciar.
As citações com ''
devem ajudar. Aspas simples impedem a expansão, dessa forma $()
será passado literalmente para watch
e, em seguida, analisado toda vez:
watch -n .1 'echo -e "$(cat test-status | wc -l)/$(cat iplist_test | wc -l)"'
Você também usa indevidamente cat
. Isso deve funcionar sem processos cat
desnecessários:
watch -n .1 'echo -e "$(<test-status wc -l)/$(<iplist_test wc -l)"'