Use o comando watch
. Para executar o comando que você especificou, algo como:
watch -n 1 'free -t && echo && ps -eo rss | awk '\''{sum+=$1} END {print sum}'\'' && echo'
Preste especial atenção à citação especial em torno do comando awk
necessário para colocar aspas simples entre aspas simples.
watch
executa o programa em um intervalo especificado (1 segundo aqui, com o -n 1
sinalizador) e exibe a primeira tela de saída na tela, atualizando a cada vez.
Se você está definido para fazer a saída persistir depois de sair, você pode executar o comando mais uma vez no final. Algo como:
tmp='free -t && echo && ps -eo rss | awk '\''{sum+=$1} END {print sum}'\'' && echo'
watch -n 1 "$tmp" ; eval "$tmp"
Onde estou usando apenas a variável temporária $tmp
para evitar digitar o comando inteiro duas vezes.