sudoを使用してbashスクリプトを実行し、その中でgitを実行します。

sudoを使用してbashスクリプトを実行し、その中でgitを実行します。

次のbashスクリプトがあります。

#!/bin/bash                                                              

cd /home/user/projekt
git config core.sparseCheckout true
git pull origin master
wait
rm -rf /var/www/project/{client,public}
cp -r /home/user/project-checkout/project/dist/* /var/www/project/
cd /var/www/project/
npm install

高い特権でcopyコマンドを実行する必要npm installがあるためsudo

しかし、 - ユーザーとファイルgit pullから読み取るため、sudoのように動作しません。タスクを実行すると、ITは期待どおりに「正しいアクセス権があることを確認してください」と表示します。.gitconfig.sshconfiggit sudo

それを処理する方法?台本賞ではクレジットを認められれば昇進権を奪われるかもしれないか?

ボーナスとして、3行が正常に完了した後にのみスクリプトを実行し続けるにはどうすればよいですか?

ベストアンサー1

必要に応じて高さを下げることができ、sudoスクリプトでは下げることはできません。

...
sudo cp ...
cd /var/www/project
sudo npm install

あなたはそれを使用することができます

set -e

waitスクリプトの起動を引き起こすエラーが原因でスクリプトが停止し、3行目で望ましい効果があります。しかし、なぜそこにあるべきかはよくわかりません。git pull操作が完了した後にのみ返されます。

おすすめ記事