명령줄에서 PDF를 열고 명령줄로 돌아가기

명령줄에서 PDF를 열고 명령줄로 돌아가기

명령줄에서 evince로 PDF를 열고 싶은데 Evince 창이 뜬 후 터미널 명령으로 돌아가서 $다음 명령을 기다리고 싶습니다.

$이제 이 명령을 실행하면 PDF가 창에서 열리고 터미널로 돌아갈 때 Enter를 눌러 다음 명령을 기다려야 합니다 .

$ evince foo.pdf &

다음 명령을 입력하기 위해 Enter를 두 번 누르지 않아도 되는 방법을 알고 계시나요?

명령줄을 닫은 후 열려 있는 창이 닫히더라도 상관하지 않습니다(즉, 그럴 nohup필요가 없음).

저는 bash 버전 5.1.16을 사용하고 있습니다.

답변1

실제로 Enter 키를 누를 필요가 없으며 터미널을 직접 사용할 수 있습니다. 일어나는 일은 evince다양한 메시지가 표준 오류로 인쇄될 수 있다는 것입니다.바라보다아직 준비가 안 된 것처럼요. 그러나 이를 무시하고 명령을 입력하면 어떻게 작동하는지 확인할 수 있습니다.

어쨌든, 나는 이것이 그다지 실용적이지 않다는 것을 알고 있으므로 표준 오류를 다음으로 리디렉션할 수 있습니다 /dev/null.

evince foo.pdf 2>/dev/null &

매번 이런 내용을 작성하지 않으려면 작은 함수를 작성하면 됩니다. 다음 행을 귀하의 행 ~/.bashrc(또는 다른 쉘의 경우 이에 상응하는 행)에 추가하십시오.

evince(){
   command evince "$@" 2> /dev/null
}

command이는 real 을 얻고 evince, 함수 이름을 무시하고, 사용하는 인수를 함수( "$@")에 직접 전달하여 stderr을 dev/null로 리디렉션하는 방법으로 사용됩니다 .

파일을 저장하고 새 터미널을 열면 evince원하는 방식으로 사용할 수 있습니다.

답변2

gnome을 사용하는 경우 다음을 사용할 수 있습니다.

xdg-open myfile

장점은 이것이 모든 유형의 파일이나 디렉토리에 대해 작동하고 앰버샌트 및 리디렉션이 필요하지 않다는 것입니다.

답변3

이는 제가 자주 사용하는 워크플로우 중 하나입니다.

나는 HTML과 같은 명시적 하이퍼링크(OSC 8 이스케이프 시퀀스)를 지원하는 터미널 에뮬레이터를 사용합니다. 이러한 터미널 에뮬레이터가 많이 있습니다.

저는 from 으로 설정했습니다 alias( ls그리고 ls --hyperlink=auto여기에 관련되지 않은 몇 가지 다른 옵션도 있습니다). 이 명령줄 옵션이 있는 대부분의 Linux 시스템에서는 기본값 ls에서 비롯됩니다 .GNU coreutils

ls주어진 파일 이름을 인쇄하라는 명령을 내립니다 . 와일드카드를 사용하여 목록의 범위를 좁힐 수도 있고 탭 완성 기능을 사용하여 원하는 파일 이름만 나열할 수도 있습니다. 아니면 단순히 전체 디렉토리를 나열할 수도 있습니다. 또는 해당 파일이 디렉토리의 최신 파일 중 하나이고 ls -ltr목록 끝에 있을 경우 이름을 기억할 필요가 없습니다. 가장 편리하다고 생각되는 것, 또는 그 당시에 입력하고 싶은 것 중 무엇이든 가능합니다.

그런 다음 인쇄된 링크를 Ctrl 키를 누른 채 클릭하면(일부 터미널 에뮬레이터에서는 링크를 열려면 다른 작업이 필요할 수 있음) 기본 처리기 응용 프로그램에서 파일이 열립니다.

이렇게 하면 기본 앱의 이름(그것이든 evince다른 것이든)을 기억하거나, 입력할 필요가 없고, 위의 설명에서처럼 일반적 xdg-open이거나 지나치게 긴 이름 을 입력할 필요가 없습니다.gapplication launch org.gnome.Evince

내 PDF 및 유사한 파일에는 이름에 특수 문자(예: 공백)가 포함되는 경우가 많습니다. 이는 제어할 수 없는 부분입니다(많은 파일을 웹에서 다운로드하거나 이메일과 같은 다른 소스에서 수신하는데 너무 게을러서 할 수 없습니다). 사용하기 쉬운 문자만 포함하여 모두 이름을 바꿉니다. 이 방법은 이러한 문자를 안전하게 처리하므로 인용이나 이스케이프 처리를 할 필요가 없습니다.

기본적으로 애플리케이션은 터미널 세션 외부에서 실행됩니다. 즉, 애플리케이션의 표준 출력이나 오류가 나타나지 않고 터미널 세션을 방해하지 않습니다.

한 가지 분명한 단점은 지정된 파일 형식에 대한 기본 응용 프로그램을 시작하고 일회성 예외를 선택할 수 없다는 것입니다. (이론적으로 터미널 에뮬레이터가 마우스 오른쪽 버튼 클릭 메뉴 등에서 다양한 응용 프로그램을 선택할 수 있도록 하는 것이 가능합니다. 있는지는 모르겠습니다.) 다른 응용 프로그램으로 열어야 하는 경우에는 더 많은 방법을 사용하겠습니다. 표준적인 방법.

저는 개인적으로 이 방법을 매우 좋아하며 매우 빠르고 편리하다고 생각합니다. 여행 비용은 변경될 수 있습니다. 한번 시도해보고 마음에 드는지 확인하세요.

관련 정보