sudo を使用して bash スクリプトを実行し、通常のユーザーとしていくつかのコマンドを実行します。

sudo を使用して bash スクリプトを実行し、通常のユーザーとしていくつかのコマンドを実行します。

sudoを使用して実行する必要がある次のスクリプトがありますが、最初のコマンド(gitコマンド)は "ubuntu"ユーザーとして実行する必要があります。

sudo -u ubuntu "git -C linux/build-repo pull"
sudo -u ubuntu "git -C android/build-repo pull"

uoa_image=$(sh linux/build-repo/make.sh | sed -n '1 p')

echo $uoa_image

しかし、sudoで実行すると最初の2つのコマンドが失敗し、make.shスクリプトを実行するとrootではないと文句を言います。

最初の行ではエラーが発生します。

sudo: git -C linux/build-repo pull: command not found
sudo: git -C android/build-repo pull: command not found 

ベストアンサー1

エラーメッセージは引用符が原因で発生します。

sudo -u ubuntu git -C linux/build-repo pull

いいえ

sudo -u ubuntu "git -C linux/build-repo pull"

おすすめ記事