/etc/httpd/conf.d/vhosts.confファイルにインクルードを追加できるように、別のWebサイトからのWebサイトの自動移行を行うスクリプトが欲しいのですが。
しかし、echoを使用してファイルの末尾に文字列を追加しようとすると、次のようになります。
$ Sudo echo "Include thing" >> /etc/httpd/conf.d/vhosts.conf
-bash: /etc/httpd/conf.d/vhosts.conf: Permission denied
それでも、vi /etc/httpd/conf.d/vhosts.confを実行して、行を追加し、:wqファイルを保存して閉じることができます。
何が欠けていますか?
Sudoは呼び出すプロセスを昇格させ、リダイレクトやグロビングなどの現在のシェルの処理は昇格させません。
ファイルリダイレクト>> /etc/httpd/conf.d/vhosts.conf
はcurrentシェルによって処理されています。シェルは現在の特権でまだ実行されています。
このようなものを試すことができます。
Sudo bash -c 'echo "Include thing" >> /etc/httpd/conf.d/vhosts.conf'
または
echo "Include thing" | Sudo tee -a /etc/httpd/conf.d/vhosts.conf