OSX 'Open with'bash 스크립트


8

나는 bash 스크립트를 가지고 있으며, 잠재적으로 많은 스크립트가 있으며, OSX의 파인더에서 파일을 열 수 있기를 원합니다.

그것은 정말로, 정말로 간단한 개념이지만 어떤 이유로 bash 스크립트는 파인더의 '열기'대화 상자에서 회색으로 표시됩니다.

나는 애플 리케이션이나 패키지를 앱으로 사용하는 다양한 방법이 있다는 것을 모았습니다 ...하지만이 중 하나를 알아낼 수 없었 으며이 사소한 작업을 위해 다른 언어를 선택하고 싶지는 않습니다. -누군가 나에게 이것을 어떻게 할 수 있습니까?

감사!

답변:


11

불가능합니다. Launch Services는 응용 프로그램 식별자와 함께 작동하며 bash 스크립트에는 없습니다.

Automator를 사용하여 랩퍼 애플리케이션을 작성해야합니다.

  1. 자동화 시작
  2. 신청을 선택하십시오
  3. 을 찾아 실행 쉘 스크립트 작업을 오른쪽에 추가합니다.
  4. 입력 을 인수로 전달
  5. 거기에 스크립트를 넣어
  6. 어딘가에 저장

Growl 명령 줄 유틸리티를 사용하는 내 버전은 다음과 같습니다 .

여기에 이미지 설명을 입력하십시오

결과:

여기에 이미지 설명을 입력하십시오


당신은에 이러한 변화가 미치는 영향 볼 수 있습니다 ~/Library/Preferences/com.apple.LaunchServices.plist모두 변경을 :

여기에 이미지 설명을 입력하십시오

( "Test"는 Automator 응용 프로그램에 지정한 이름입니다)


감사. 나는 소용돌이를 주었지만 Automator가 만든 앱으로 열려고 시도 합니다. "셸 스크립트 실행"작업에 오류가 발생했습니다. 조치 특성을 확인하고 워크 플로우를 다시 실행하십시오. 내가 본 동안 가장 도움이되지 않은 오류 메시지에 대한 것입니다!
Rich

@Rich 셸 스크립트 실행 작업에서 기본 스크립트와 함께 작동합니까? 아니면 그때도? 패스 입력 환경 설정 을 변경 한 것을 기억 하십니까? 응용 프로그램을 두 번 클릭하거나 파일을 응용 프로그램으로 드래그하거나 관련 파일 만 열려고합니까? 다른 방법으로 시작하면 어떻게됩니까?
Daniel Beck

감사. cat을 호출 할 때 기본 출력의 결과를 어떻게 알지 모르지만 오류는 없었습니다. 응용 프로그램이 비표준 위치에서 스크립트를 호출하지 않고 / usr / local / bin에 스크립트를 만든 다음 실행하려고하면 너무 많은 수준의 기호 링크가 있음을 알았습니다 (1 ?! ) 그래서 방금 스크립트를 복사했는데 이제는 작동하는 것 같습니다. 감사!
rich

1

Daniel Beck의 지침을 약간 수정하여 Mac의 Chrome에서 열려고하는 URL 파일 (Firefox에서도 작동 함)에서 작동하도록했습니다.

내가 사용한 스크립트는 다음과 같습니다.

sed 's/^URL=/URL=/' "$1" | grep -m 1 '^URL=' | sed 's/^URL=//' | tr -d '\r' | xargs open -a "Google Chrome"

다음과 같은 일반적인 URL 파일에서 URL = 행을 구문 분석합니다.

[InternetShortcut]
URL=http://www.docircuits.com/pricing
IDList=
HotKey=0
IconFile=O:\Apps\Firefox\Data\profile\shortcutCache\4t0JW4mY1qRPhiYz1fY3dw==.ico
IconIndex=0

~ / Library 디렉토리와 같은 곳에 Automator 스크립트를 저장하십시오. 내 OpenUrl.app에 전화했습니다.

이제 URL 파일로 이동하여 "정보 입수"팝업을여십시오. 연결 프로그램 명령을 OpenUrl.app 스크립트로 변경하십시오. 하나만 사용하여 테스트하거나 "모두 변경 ..."을 클릭하십시오. 처음 클릭하면 오류가 발생했지만 두 번째로 작동하는 것 같습니다.

이것을 개발할 때 "Run Shell Script"오류가 발생했지만 스크립트의 실제 오류 때문이었습니다. Daniel의 스크립트의 주요 문제는 열려고하는 파일 이름의 공백을 처리하지 않는다는 것입니다.


-1

사용 reattach-to-user-namespace에서 하나 의 repo 또는과 brew install reattach-to-user-namespace. 이것은 Sierra에서 작동하지만 다른 OS에 대해서는 확실하지 않습니다.

설치되면 bash 스크립트에서 다음과 같이 사용하십시오.

사용자 이름 공간에 다시 연결 a_cool_file.png


이것은 질문에 대답하지 않는 것 같습니다. OP는 Finder의 "연결 프로그램"기능을 사용하여 Bash 스크립트로 파일을 열려고합니다. Tmux 및 Screen에서 클립 보드 지원을 제공하는 것은 도움이되지 않습니다. 특히 Tmux 또는 Screen이 관련되어 있다는 표시가 없기 때문입니다.
8bittree
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.