답변:
sudo
맨 페이지에는 이와 같은 작업을 수행하는 방법을 설명하는 팁 이 있습니다. 여기 하나의 라이너가 있습니다.
#!/usr/bin/bash
sudo sh -c "echo \"add this line to the code\" >> fileName"
분명히, 먼저 sudo
권한 을 갖도록 사용자를 설정해야합니다 . sh
쉘 때문에 루트 소유의 파일로 리디렉션 사용됩니다. 또한 echo
명령에 사용 된 따옴표를 피해야했습니다 .
su
대부분의 유닉스 시스템에서 사용할 수 있으며 다음과 같이 작동합니다.
su root -c 'echo "add this line to the code" >> fileName'
tee
함께 사용할 수 있습니다 sudo
:
echo "add this line to the code" | sudo tee -a filename > /dev/null
echo
출력은 |
( pipe ) 로로 리디렉션 됩니다 sudo tee
.
이 경우 표준 입력tee
에서 읽고 지정된 파일 을 표준 출력에 씁니다 . (또는 )는 파일을 덮어 쓰지 않고 파일에 추가합니다. 로가 로 실행 이 루트 권한으로 파일을 엽니 다. 마지막으로 출력을 표준 출력 으로 억제 합니다 .filename
-a
--append
tee
tee
sudo
> /dev/null
tee
사용의 장점 중 하나 tee
대신에 단지 전체 명령을 시작하는 재 지정을 포함 su -c
하거나 sudo sh -c
당신이하지 않아도된다는 어떤 방식으로 초기 명령의 인용 (이미 시간이 꽤 추한 얻을 수 따옴표를 포함하는 라인을 인용) 변경합니다.
sudo
비밀번호는로 캐시되지 않는 것 같습니다su
.