Macos 如何通过bash脚本强制打开文件?

Macos 如何通过bash脚本强制打开文件?,macos,bash,shell,command-line,command,Macos,Bash,Shell,Command Line,Command,为什么我不能让这个bash命令正常工作? 到现在为止,我正在用它来打开升华文本中的文件 open -a Sublime\ Text path/to/file_directory/file_name.php (doesn't have to be php) 这适用于大多数文件,但不适用于某些文件 又名: .htaccess 一些_文件(没有.txt、.php或任何其他结尾) 一些文件.txt 在OS X中,每个文件类型(由文件扩展名标识,例如.txt或.php)都有一个与之关联的默认程

为什么我不能让这个bash命令正常工作?

到现在为止,我正在用它来打开升华文本中的文件

open -a Sublime\ Text path/to/file_directory/file_name.php     (doesn't have to be php)
这适用于大多数文件,但不适用于某些文件

又名:

  • .htaccess
  • 一些_文件(没有.txt、.php或任何其他结尾)
  • 一些文件.txt
在OS X中,每个文件类型(由文件扩展名标识,例如
.txt
.php
)都有一个与之关联的默认程序,用于打开此类文件。您似乎没有任何与
.txt
.htaccess
文件关联的程序


它解释了如何更改文件关联。

基本上,我使用应用程序Alfred来执行任务,以加快我的工作流程

我扩展了一个alfred工作流,该工作流原本应该显示您最近的下载目录,但我将其更改为显示我的开发者笔记目录。这很有用,因为这样我就可以用

⌘ space
然后它会打字

dn
它将从我的开发者笔记目录中提取所有文件。我的问题是,我只想点击回车,以在崇高文本中正确打开它。我愚蠢的错误是我没有切换脚本格式

/usr/bin/php    ==back to==>     /bin/bash

这就是它不起作用的原因。没有任何语法错误。只是一个愚蠢的被忽视的错误。不过我找到了!请记住,如果您正在构建alfred工作流,请不要忘记切换脚本筛选语言。

在您的特定情况下,只需使用

subl path/to/file
以从命令行打开带有升华文本的文件。升华文本提供了一个命令行包装器。 有关更多详细信息,请查看。

来自OS X手册页的
打开的

-t  Causes the file to be opened with the default text editor, as determined via LaunchServices
因此,您只需将以下行添加到
~/.bashrc
~/.profile

    EDITOR="/bin/local/subl -nw"
或者如果您在通常的位置安装了Sublime文本

    EDITOR="/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text -nw"
然后,可以从命令行或脚本运行

    open -t file_name

我已经将sublime文本设置为打开文件的默认应用程序。然而,这是它可能不起作用的一个合理原因。在发布这篇文章之前,我点击了这一步。我应该在上面提到。还有其他想法吗?我解决了这个问题。天哪。。我讨厌某些错误如此愚蠢。请发布您的解决方案,以防其他人面临同样的愚蠢:)不过,使用ST提供的包装器更方便。这就是它的用途-从命令行打开文件。;)