답변:
불가능합니다. Launch Services는 응용 프로그램 식별자와 함께 작동하며 bash 스크립트에는 없습니다.
Automator를 사용하여 랩퍼 애플리케이션을 작성해야합니다.
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