![호스트 이름과 [sudo] 줄을 쓰지 않고 로컬에서 SSH+sudo 출력을 캡처할 수 있습니까?](https://linux55.com/image/48130/%ED%98%B8%EC%8A%A4%ED%8A%B8%20%EC%9D%B4%EB%A6%84%EA%B3%BC%20%5Bsudo%5D%20%EC%A4%84%EC%9D%84%20%EC%93%B0%EC%A7%80%20%EC%95%8A%EA%B3%A0%20%EB%A1%9C%EC%BB%AC%EC%97%90%EC%84%9C%20SSH%2Bsudo%20%EC%B6%9C%EB%A0%A5%EC%9D%84%20%EC%BA%A1%EC%B2%98%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
SSH 명령 실행의 출력을 로컬로 작성할 때 호스트 이름 및 [sudo] 행을 억제할 수 있습니까?
예를 들어 서버에 SSH로 연결하여 실행하면 sudo <command>
다음과 같이 표시됩니다 .
<hostname>
[sudo] password for user:
이것은 출력을 쓰는 파일에 기록됩니다. 사용하고 sudo <command> 2>&1 /dev/null
있는데 선이 지워지지 않네요.
답변1
sudo <command> 2>&1 /dev/null
아무것도 리디렉션되지 않습니다 /dev/null
. 대신 다음과 같습니다.
- 2개의 매개변수로 호출
sudo
:<command>
및/dev/null
. 두 번째 항목은<command>
실행 시 전달됩니다. - 오류 메시지를 표준 출력으로 리디렉션합니다.
다음은 간단한 시도입니다.
$ sudo ls 2>&1 /dev/null
/dev/null
참조: 귀하가 얻는 결과 ls /dev/null
. 그러나 다음과 같은 작업을 수행할 수 있습니다...
$ sudo ls >ls_output.txt 2>/dev/null
이는 다음을 수행합니다.
sudo
1개의 인수로 호출됨:ls
.- 표준 출력을 로 리디렉션합니다
ls_output.txt
. - 표준 오류를 로 리디렉션합니다
/dev/null
.
위 명령을 사용하면 현재 작업 디렉토리의 내용이 나열되고 ls_output.txt
그 안에 데이터는 없습니다.stderr