Estou fazendo um script para atualizar o sistema (Ubuntu 22.04), atualizando todos os pacotes em apt, flatpak e snap com uma ordem (como sudo ./update.sh
) e, caso algo dê errado, quero salvar a saída em um arquivo. Eu tenho duas maneiras de fazer isso.
Uma delas é redirecionar a saída padrão de cada pedido com "tee", como:
echo "### apt update:\n" | tee update.out
apt update | tee -a update.out
# etc, etc all with "| tee -a update.out"
Qual é o tipo de repetição que você deseja evitar na programação.
A outra maneira de fazer isso é usando "tee" chamando o próprio script como:
sudo ./update.sh | tee update.out
Mas se eu quiser esse comportamento por padrão, a jogada inteligente é colocar isso dentro do script, certo?
Como eu poderia fazer isso, para que quando eu fizer sudo ./update.sh
, ele envie toda a saída para a tela e para o arquivo de saída?