質問: 同じスクリプトでコマンドを実行するためにbashスクリプト内でユーザーidを切り替える/変更するにはどうすればよいですか? スクリプト(インストールプロセスの一部としてrootとして実行される)内でユーザーidを切り替えて、外部スクリプトを呼び出さずにいくつかのコマンドを実行し、次にrootに戻って他のコマンドを実行する方法はありますか?並べ替え:#!/bin/bash some commands as root switch_user_to user some commands as user including environment variables checks, without calling an external script switch_user_back some other stuff as root, maybe another user id change...
回答: いいえ。ただし、sudoを使用してシェルを実行し、ヒアドキュメントを使用してコマンドをフィードすることができます。#!/bin/bash whoami sudo -u someuser bash << eof echo "in" whoami eof echo "out" whoami