echo 명령을 사용하여 파일에 텍스트 삽입

echo 명령을 사용하여 파일에 텍스트 삽입

다음을 통해 파일에 텍스트를 삽입하려고 합니다.

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를 사용하여 파일에 대한 권한을 변경할 수 있습니다.

관련 정보