date | sudo tee output.txt > /dev/null
Isso funciona porque tee
abre o output.txt
e está sendo executado como root. O > /dev/null
é apenas para jogar fora a cópia extra que tee
enviaria para stdout
.
O motivo pelo qual sudo date > output.txt
não funciona é que o redirecionamento de saída (o > output.txt
) é feito antes de , o sudo date
é iniciado e, portanto, é executado com os direitos de acesso atuais.
Uma abordagem diferente seria alterar as permissões no diretório atual para permitir que o usuário atual crie arquivos. Fazer isso significaria que date > output.txt
poderia funcionar sem precisar de sudo
.