重複の可能性:
書き込み権限のないファイルに標準出力をリダイレクトします。
私は初めてであり、シェルスクリプトを学びようとしています。
強制的に接続し、次の1行のコマンドを実行する権限をオーバーライドする方法はありますか?
read domain; echo "127.0.1.1 $domain " >> /etc/hosts
私が望むのは、ドメインを入力し、開発のためにそれを自分のホストファイルに追加する簡単なスクリプトを作成することだけです。私のホストファイルには制限的な権限があるので(私はsudo権限を持つ唯一のユーザーであるにもかかわらず)、これを許可しません。
理想的な出力は単に次のことを行います。
127.0.0.1 foo.l
答え1
できません。>>
シェルによって解釈されるため、sudoコマンドはこの前に効果的に終了します。
しかし、試してみることができます。
read domain; echo "127.0.1.1 $domain " | sudo tee --append /etc/hosts
必要に応じて動作していることを確認してください。