ルート書き込みアクセスのみを使用してファイルに行を追加し、スクリプトを実行し続ける方法

ルート書き込みアクセスのみを使用してファイルに行を追加し、スクリプトを実行し続ける方法

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"

当然、権限を取得するには、まずユーザーを設定する必要がありますsudoshルートが所有するファイルにリダイレクトされるため、シェルが使用されます。また、echoコマンドで使用された引用符をエスケープする必要がありました。

おすすめ記事