このトリックを使用することもできます:
{ anycommand } | su -c 'tee file' user
tee(1)
は POSIX ユーティリティであるため、その可用性に依存できます。
または、sudo
で :
{ anycommand } | sudo -u user 'tee file'
サブシェルを使用:(su -c 'psql -U postgres -c "<command>"' postgres) > file
サブシェル内では、権限を削除して作業を行うことができますが、出力は元の権限を持つ元のシェルにリダイレクトされます。