리눅스에서 쉘 애플리케이션의 출력을 숨기는 방법? 셸 응용 프로그램의 화면 출력

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

숨기기 stdoutstderr

./command >/dev/null 2>&1

터미널 숨기기 stdoutstderr해제 (백그라운드에서 명령 실행)

./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설정은 어쨌든 우분투에서 작동합니다.