/etc/httpd/conf.d/vhosts.conf 파일에 포함을 추가할 수 있도록 다른 웹 사이트의 자동 마이그레이션을 수행하는 스크립트를 갖고 싶습니다.
그러나 echo를 사용하여 파일 끝에 문자열을 추가하려고 하면 다음과 같은 결과가 나타납니다.
$ sudo echo "Include thing" >> /etc/httpd/conf.d/vhosts.conf
-bash: /etc/httpd/conf.d/vhosts.conf: Permission denied
하지만 아직 /etc/httpd/conf.d/vhosts.conf를 실행하고 행을 추가하고 파일을 :wq하여 저장하고 닫을 수 있습니다.
내가 무엇을 놓치고 있나요?
답변1
Sudo는 호출하는 프로세스를 승격하지만 리디렉션, 글로빙 등과 같은 현재 셸의 처리를 승격시키지 않습니다.
파일 리디렉션을 >> /etc/httpd/conf.d/vhosts.conf
처리하는 중입니다.현재의현재 권한으로 계속 실행 중인 쉘입니다.
이런 식으로 시도해 볼 수 있습니다.
sudo bash -c 'echo "Include thing" >> /etc/httpd/conf.d/vhosts.conf'
또는
echo "Include thing" | sudo tee -a /etc/httpd/conf.d/vhosts.conf