Linux에서 셸 응용 프로그램의 화면 출력 (printf)을 숨기는 방법은 무엇입니까?
답변
보이지 않는 프로그램의 출력을 재 지정할 수 있습니다.
$ program > /dev/null
이것은 표준 출력을 리디렉션합니다-여전히 오류가 표시됩니다
$ program &> /dev/null
오류를 포함한 모든 출력을 리디렉션합니다.
답변
명령 줄에는 3 개의 IO 장치가 있습니다.
standard in - 0
standard out - 1
standard error - 2
표준 출력 (기본 출력)을 파일로 리디렉션하고 파일을 덮어 쓰려면
command > file.log
file.log에 추가하려면 2> s를 사용하십시오.
command >> file.log
표준 오류를 file.log로 리디렉션하려면
command 2> file.log
그리고 추가
command 2>> file.log
출력을 하나의 스트림으로 결합하여 한 곳으로 모두 보내기
command > file.log 2>&1
이것은 2 (stderr)를 1 (stdout)로 보내고 stdout을 file.log로 보냅니다.
stdin을 예상하는 명령으로 표준을 리디렉션 할 수도 있습니다.
command << file.txt
편집
자세한 내용은 Advanced Bash 스크립팅 안내서를 확인하십시오.
답변
숨는 장소 stdout
./command >/dev/null
숨기기 stdout
및stderr
./command >/dev/null 2>&1
터미널 숨기기 stdout
및 stderr
해제 (백그라운드에서 명령 실행)
./command >/dev/null 2>&1 &
답변
출력을 숨기고 파일로 저장하지 않으려면 다음을 사용할 수 있습니다.
편집 :
$ 명령 &> / dev / null
답변
Mac OS X (10.6 “Snow Leopard”) :
출력 / 오류 파일 디스크립터를 확인하여 프로그램에 알리지 않고 출력을 숨기려면 쉘에서 다음을 사용하십시오.
stty flusho; command ;stty -flusho
또는 터미널에서 입력을 숨기려면 다음과 같이하십시오.
stty -echo; command ;stty echo
자세한 내용은 stty (1) 매뉴얼 페이지를 참조하십시오
Linux의 경우 Ubunutu (10.04 “Lucid”) 및 일부 “Debian / Arch”(아래 주석-tnx hendry)에 flusho
설정 이 없습니다 (맨 페이지에서 다른 적절한 항목을 볼 수 없음). . echo
설정은 어쨌든 우분투에서 작동합니다.