OSX ‘Open with’bash 스크립트 있으며, OSX의 파인더에서 파일을 열

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

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

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

감사!



답변

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

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

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

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

결과:


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

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


답변

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의 스크립트의 주요 문제는 열려고하는 파일 이름의 공백을 처리하지 않는다는 것입니다.


답변

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

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

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