bashスクリプトを学ぶつもりです。時々root
書き込み権限を必要とするファイルに行を追加する必要がある実際の問題を解決しています。
コードは次のとおりです。
# some code
echo "add this line to the code" >> fileName
# some code
どういうわけか、スクリプトからルートパスワードを要求し、パスワードを確認し、成功した確認後にファイルを変更することができますか?その後、スクリプトはユーザーモードに戻り、コマンドを実行し続ける必要があります。
ベストアンサー1
sudo
マニュアルページには、このようなタスクを実行する方法を説明するヒントがあります。私が言ったことは次のとおりです。
#!/usr/bin/bash
sudo sh -c "echo \"add this line to the code\" >> fileName"
当然、権限を取得するには、まずユーザーを設定する必要がありますsudo
。sh
ルートが所有するファイルにリダイレクトされるため、シェルが使用されます。また、echo
コマンドで使用された引用符をエスケープする必要がありました。