Možná budete chtít použít tento trik:
{ anycommand } | su -c 'tee file' user
tee(1)
je nástroj POSIX, takže se můžete spolehnout na jeho dostupnost.
Nebo s sudo
:
{ anycommand } | sudo -u user 'tee file'
Použijte subshell:(su -c 'psql -U postgres -c "<command>"' postgres) > file
Uvnitř subshell můžete zrušit oprávnění k vaší práci, ale výstup je přesměrován do vašeho původního shellu, který má stále vaše původní oprávnění.