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

时间:2014-03-15 08:39:27

标签: macos bash shell command-line command

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

截至目前,我正在使用它来打开Sublime Text

中的文件
open -a Sublime\ Text path/to/file_directory/file_name.php     (doesn't have to be php)

这适用于大多数文件,但不适用于某些文件。

AKA:

  • 的.htaccess
  • some_file(没有.txt,.php或任何其他结尾)
  • some_file.txt

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

我扩展了最初应该显示您最近下载目录的alfred工作流程,但我更改了这个以显示我的开发人员注释目录。这很有用,因为我可以用

打开alfred
⌘ space

然后它会输入

dn

它将从我的Developer Notes目录中提取所有文件。我的问题是我想点击输入在Sublime Text中正确打开它。我的愚蠢错误是我没有从

切换脚本格式
/usr/bin/php    ==back to==>     /bin/bash

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

答案 2 :(得分:0)

在您的具体情况下,只需使用

subl path/to/file

以便从命令行打开带有Sublime Text的文件。 Sublime Text提供命令行包装器。 有关详细信息,请查看documentation

答案 3 :(得分:0)

来自 open的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 Text,

    EDITOR="/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text -nw"

然后从命令行或脚本中运行

    open -t file_name