11.10의 Eclipse 및 문서 뷰어와 같은 명령 줄에서 특정 프로그램을 시작하면 중요하지 않은 정보가 많이 나타납니다.
또한 백그라운드에서 실행될 때 때로는 현재 작업중 인 터미널에 계속 출력을 생성하여 자극적입니다.
나는 그들이 배경을 배경으로 발사하고 유지하기를 원합니다. 내 이유는 GUI를 통해 이러한 프로그램을 시작하면 (예 : 아이콘을 두 번 클릭) 이러한 메시지가 나에게 표시되지 않으므로 명령 줄에 필요하지 않습니다.
11.10의 Eclipse 및 문서 뷰어와 같은 명령 줄에서 특정 프로그램을 시작하면 중요하지 않은 정보가 많이 나타납니다.
또한 백그라운드에서 실행될 때 때로는 현재 작업중 인 터미널에 계속 출력을 생성하여 자극적입니다.
나는 그들이 배경을 배경으로 발사하고 유지하기를 원합니다. 내 이유는 GUI를 통해 이러한 프로그램을 시작하면 (예 : 아이콘을 두 번 클릭) 이러한 메시지가 나에게 표시되지 않으므로 명령 줄에 필요하지 않습니다.
답변:
콘솔에 내용을 쓰지 않으려면 프로그램의 출력이 생성되는 방법에 따라 다릅니다. 표준 출력으로 스트리밍되면 충분합니다.
$ eclipse >/dev/null
출력하지 않아야합니다.
오류 메시지도 표시하지 않으려면 :
$ eclipse >/dev/null 2>&1
또는 bash에서 간단히 :
$ eclipse &>/dev/null
그러나 그들이 어떻게 든 다르게하면 콘솔에서 쓰기를 중지하는 것이 문제가 될 수 있습니다.
가능하면 MuffinStateWide에서 제공 한 솔루션을 사용하십시오.
eclipse 2&>1 >/dev/null
없애고 싶을 수도 stderr
있습니다. 기본값은 리디렉션 만합니다 stdout
. 그리고 stdout과 stderr을 네더로 제거하면 출력이 없습니다.
eclipse &> /dev/null
. 즉 (bash는) 리디렉션 점에 모두 표준 입력과 표준 에러를 잡는다
명령 이름의 별명을 지정하고 추가 기능을 추가하여 원하는 것을 달성하는 bash 함수를 작성할 수 있습니다.
예를 들어 : gvim
명령 행에서 (gui 텍스트 편집기) 를 시작한다고 가정 해 봅시다 .
다음과 같은 함수를 작성할 수 있습니다.
function gvim () {
nohup gvim "$@" > /dev/null 2>&1 & disown
}
(이 기능을 귀하 .bashrc
또는 .bash_aliases
파일에 추가하여 항상로드하십시오)
설명:
이것은 gvim
bash 함수를 사용 하여 명령의 별명 을 지정합니다 gvim
(따라서 gvim
bash 프롬프트에서 입력 gvim
하면 실제 gvim
명령을 실행하는 대신 함수를 호출합니다. 함수는 실제 gvim
명령 을 호출 하고 정규 인수를 수락합니다). 몇 가지 추가 기능 :
/dev/null
(출력을 터미널로 억제)&
백그라운드에서 명령을 실행하는 데 사용 합니다 (쉘이 차단되지 않음)disown
쉘에서 백그라운드 작업을 제거하는 데 사용 합니다 (활성 작업 목록에 표시되지 않음).nohup
터미널에서 프로세스를 분리하는 데 사용 ( 프로세스를 종료하지 않고 쉘 세션을 종료하거나 터미널을 닫을 수 있음)