이름을 입력하여 PDF 파일 열기

이름을 입력하여 PDF 파일 열기

저는 Mac OS X를 사용하고 있으며 일반적으로 터미널에서 PDF 파일을 엽니다(bash 사용).

open myfile.pdf

이제 타이핑만 할 수 있겠네요

myfile.pdf

위의 명령으로 열었습니다. 해당 명령을 실행하도록 bash를 구성할 수 있나요? 그것이 PDF 파일에만 적용된다면 기쁘겠지만, 물론 좀 더 일반적인 해결책도 환영합니다.

실제로 이는 단지 몇 번의 키 입력을 저장하기 위한 것이 아닙니다. 문제를 해결하는 데 2시간이 걸린다면 앞으로 몇 년 동안 두 번의 키 누르기를 줄여서 그렇게 많은 시간을 절약할 수 있을지 의문입니다. 이것이 가능한지, 어떻게 가능한지 배우고 싶습니다.

답변1

이 기능을 에 추가하는 방법이 있습니다 bash.

파일을 "실행"하려고 하면 bash에서 command not found오류가 발생합니다.

$ 1.pdf
bash: 1.pdf: command not found

ERR그 후에는 "신호" 도 방출합니다 . buildin을 사용하면 trap이러한 유형의 신호를 포착하고 오류를 처리할 함수를 정의할 수 있습니다.

~에그 페이지해당 오류를 처리할 스크립트를 찾을 수 있습니다.설명).

스크립트에는 주석이 잘 달려 있으므로 필요에 따라 수정하는 데 문제가 되지 않습니다.

catch한 후 ERR마지막 명령의 오류 코드를 확인합니다. 오류인 경우2, 126 또는 127그것은 계속될 것입니다. 다음 단계에서는 마지막 명령을 확인하고 명령 부분과 인수로 분할합니다.

먼저 if..fi"선행 슬래시를 잊어버리는 것과 관련된 가능한 오류를 처리"하여 제거할 수 있습니다.

다음 명령문을 요청하면 if명령이 디렉토리인지 확인하므로 해당 명령도 제거될 수 있습니다. 더 흥미로운 것은 두 번째 부분입니다 if. 스크립트는 파일 형식을 확인하고 해당 형식의 파일을 여는 방법에 대한 몇 가지 제안을 인쇄합니다. 그 대신에 open $cmd또는 같은 것을 넣을 수 있습니다 APPLICATION_TO_OPEN_PDF $cmd(물론 파일이 PDF인지 확인을 추가해야 합니다).

APPLICATION_TO_OPEN_PDF $cmd보안 참고사항: 해당 기능 을 사용하려면 open $cmd. 또한 특정 파일 형식에 대한 작업을 설정해야 하며 일부 악성 스크립트 등의 실행을 방지하려면 모든 형식의 파일에 대해 open 또는 exec를 사용하지 않아야 합니다.


이를 수행하는 다른 방법도 있지만 더 방해가 되기 때문에 문제가 발생할 수 있다고 생각합니다.

기능을 재정의 command_not_found_handle()하고 거기에 검사와 opens를 넣을 수 있습니다. 그러면 오류 메시지가 표시되지 않지만 처리하고 싶지 않은 경우 오류 코드와 메시지가 어떻게 될지 잘 모르겠습니다.

답변2

zsh에서접미사 별칭당신의 .zshrc:

alias -s pdf=open

Zsh는 일반적으로 bash보다 더 나은 대화형 기능과 더 나은 프로그래밍 기능을 가지고 있습니다. 최소 10.4부터 Mac OS X와 ​​함께 제공되었습니다.

답변3

open이름 에 대한 별칭을 만든 o다음 다음을 입력 할 수 있다고 가정합니다.

 o myfile.pdf

하지만 그렇게 하면 입력하는 데 드는 노력이 그렇게 많이 절약되는지는 모르겠습니다 open. :-) 어떤 경우든 파일 이름을 지정해야 합니다.

따라서 별칭의 경우:

alias o="open"

당신의~/.bashrc file

관련 정보