다음을 통해 파일에 텍스트를 삽입하려고 합니다.
sudo echo "abc-abc/abc/abc" >> /etc/portage/make.conf
하지만 오류가 발생했습니다. 권한이 거부되었습니다.
sudo 명령을 사용하고 있지만
답변1
해당 명령줄에서 셸은 /etc/portage/make.conf
추가 모드를 열어 새 프로세스의 표준 출력으로 만들고 sudo
해당 새 프로세스에서 실행됩니다. 이것은 sudo
열린 echo
파일이 아니라 자격 증명을 사용하여 실행되는 셸입니다.
루트로 시작된 명령으로 파일을 열어야 합니다. 따라서 다음과 같을 수 있습니다.
sudo sh -c 'echo "abc-abc/abc/abc" >> /etc/portage/make.conf'
또는:
echo "abc-abc/abc/abc" | sudo tee -a /etc/portage/make.conf > /dev/null
답변2
Sudo는 " echo "abc-abc/abc/abc" "의 경우 첫 번째 명령만 실행합니다.
따라서 명령의 나머지 부분(/etc/portage/make.conf에 기록됨)은 사용자 모드에서 실행됩니다.
chmod를 사용하여 파일에 대한 권한을 변경할 수 있습니다.