13

ほとんどのスクリプトで必要なため、sudoで実行される単純なシェルスクリプトがありますが、スクリプト内のコマンドの1つはHomebrewインストールであり、sudoでは実行できません。

したがって、私の質問は、sudoを使用してシェルスクリプトを実行するときに、現在のユーザーとしてサブコマンドを実行し、スクリプトの残りの部分をsudoを使用して続行するにはどうすればよいかということです。

スクリプトの実行には非常に時間がかかり、プロンプトが表示されるまで5〜10分待つ必要があるため、ユーザーにパスワードの再入力を求めることは実際には実用的ではありません。

4

2 に答える 2

13

最も簡単な方法はsudo、スクリプト内からサブコマンドを実行することです。実行するユーザー ID は $SUDO_USER で取得できます (の出力を見てくださいsudo env)。

sudo -u $SUDO_USER ./exec_as_normal_user.sh
于 2013-01-15T10:48:10.677 に答える
0

を使用してシェルをインスタンス化します

sudo -u $USER_NAME bash

を呼び出してシェルスクリプトを実行します。

./program.sh

于 2013-01-15T12:47:51.217 に答える