Answers:
这是不可能的。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
将Automator脚本保存到〜/ Library目录之类的位置。我叫我的OpenUrl.app。
现在转到某个地方的url文件,然后打开“获取信息”弹出窗口。将“打开方式”命令更改为您的OpenUrl.app脚本。仅用一个进行测试,或单击“全部更改...”,这是我第一次单击它给出了错误,但似乎第二次可以使用。
在开发此程序时,确实遇到了“运行Shell脚本”错误,但这是由于脚本中的实际错误。我认为Daniel脚本的关键问题在于它无法处理您试图打开的文件名中的空格。