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