如何根据文件扩展名类型在终端中设置“open”命令的默认应用程序?

kur*_*une 5 git macos bash environment-variables lighttable

前段时间,我在命令行终端中将 Sublime text 2 设置为 GIT 的默认编辑器。我现在想将其更改为 LightTable,但遇到了一些麻烦。我已将VISUALEDITOR环境变量设置为LightTable,这对大多数扩展来说都有效。但即使我也使用此命令的几个变体将 .gitconfig 文件编辑器变量设置为LightTable :

git config --global core.editor "'/Applications/LightTable.app' -w"
Run Code Online (Sandbox Code Playgroud)

和这个:

export GIT_EDITOR=LightTable
Run Code Online (Sandbox Code Playgroud)

它继续使用 sublime text 2 打开 .md 文件。其他文件扩展名也可以使用 TextEdit 或其他应用程序打开。有没有一种简单的方法可以控制混乱并根据扩展设置我的默认打开应用程序?我已阅读open的手册页,其中提到了 LaunchServices,但我在硬盘上找不到它。我在运行 OSX 的 mac 上使用 bash 和 Unix(Darwin)。提前致谢!

Die*_*Epp 1

问题是它/Applications/LightTable.app不是可执行文件,而是应用程序包。您可以从 Finder 中双击应用程序包,但无法从终端运行它们。你自己看

$ /Applications/LightTable.app ./myfile.txt
zsh: permission denied: /Applications/LightTable.app
Run Code Online (Sandbox Code Playgroud)

您必须指定完整的可执行路径,例如LightTable.app/Contents/MacOS/LightTable. 我不知道它到底是什么。