Você realmente não quer fazer isso. watch
foi projetado para ser, um, assistido . Sua saída é formatada de modo a tornar o redirecionamento impraticável. Embora você possa realmente fazer isso usando algo como tee
, a saída será muitas linhas em branco e muito pouca informação útil.
Então, no caso específico de watch
, é melhor escrever seu próprio roteiro que faz a mesma coisa:
#!/bin/bash
## This is an infinite loop, the script will run until you kill it
while :; do
## Run the command whose output you want to monitor
amdconfig --odgc" "amdconfig --odgt
## Wait for 2 seconds. This mimics what the watch command does
## and also avoids spamming your cpu.
sleep 2
done
Salve esse script como ~/bin/amdwatch
ou o que quiser, torne-o executável ( chmod +x ~/bin/amdwatch
) e, em seguida, redirecione sua saída para um arquivo:
~/bin/amdwatch > amdwatch.log
Isso executará o script até que você o pare manualmente e execute o comando amdwatch
a cada dois segundos, salvando sua saída em amdwatch.log
.
Para a maioria dos scripts, o que você está procurando é script.sh > outputFile.txt
ou script.sh >> outputFile.txt
. Veja Como faço para salvar a saída do terminal em um arquivo? .