私はbashスクリプトを持っていますが、実際にはそれらの多くがOSXのFinderでファイルを開くことができるようにしたいと思っています。
これは本当に、本当に単純な概念ですが、何らかの理由で、bashスクリプトはFinderの[プログラムから開く]ダイアログでグレー表示されます。
アップルスクリプトやパッケージングをアプリとして使用するにはさまざまな方法があると思います...しかし、私はこれを理解することができず、この些細な作業のためだけに別の言語を選択する必要はありません。 -誰かが私にこれを行う方法をスプーンで与えることができますか?
ありがとう!
不可能です。 Launch Servicesはアプリケーション識別子で動作し、bashスクリプトにはそれらがありません。
Automatorを使用してラッパーアプリケーションを作成する必要があります。
Growl コマンドラインユーティリティを使用した私のバージョンは次のとおりです。
結果:
すべてを変更すると、この変更が~/Library/Preferences/com.Apple.LaunchServices.plist
に与える影響を確認できます。
( "Test"はAutomatorアプリケーションに付けた名前です)
ダニエルベックの指示にいくつかの変更を加えて、MacでChrome(Firefoxも機能します)で開きたいURLファイルに対してこれを機能させました。
私が使用したスクリプトは次のとおりです。
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
Automatorスクリプトを〜/ Libraryディレクトリなどの場所に保存します。私はOpenUrl.appと呼んだ。
次に、どこかのURLファイルに移動し、「情報を見る」ポップアップを開きます。 OpenWithコマンドをOpenUrl.appスクリプトに変更します。 1つだけでテストするか、[すべて変更...]をクリックします。最初にクリックするとエラーが発生しましたが、2回目は機能しているようです。
これを開発する際に「シェルスクリプトの実行」エラーが発生しましたが、それはスクリプトの実際のエラーが原因でした。ダニエルのスクリプトの重要な問題は、開こうとしているファイル名のスペースを処理しないことだと思います。