Você pode simplesmente colocar os comandos em um arquivo, preceder um shebang ( #!/bin/sh ), torná-lo executável ( chmod +x script.sh ) e fornecê-lo como argumento para watch :
watch ./script.sh
Eu tenho um script pequeno, que eu quero rodar constantemente até que eu Ctrl + C . Eu vi algumas sugestões de usar watch e os pequenos exemplos que vi funcionam bem, mas não consigo fazer com que funcione para mim.
Aqui está meu script
echo -en "\nQueued forks: "$(( $(ls -lash /var/www/data/forked/* | wc -l) - 10 ));
echo -en "\nRunning fork processes: "$(ps -ef | awk '$8 ~ /jsfork*/ {print}' | wc -l)"\n\n";
ps auxfww;
if [ -e /var/www/data/logs/fork.log ]
then
echo -en "\n\nErrors:\n"
more /var/www/data/logs/fork.log
else
echo -en "\n\nNo errors.\n\n"
fi
Todos os exemplos que vi foram aproximadamente watch -n x 'do something' , mas como o meu script tem ' , não funcionou apenas para envolvê-lo.
Existe alguma maneira que eu possa usar watch com meu script?
Não tenho certeza se o sistema operacional faz muita diferença nesse caso, mas ele está sendo executado no Ubuntu 12