【问题标题】:Open file in default editor from bash从 bash 在默认编辑器中打开文件
【发布时间】:2012-11-17 15:27:00
【问题描述】:

如何使用 bash 打开我的脚本使用默认 GUI 编辑器生成的文件?

在 OS X 上有命令 open,但据我所知,它在 linux 上不存在。什么是好的跨平台替代方案?

(在 OS X 上执行 open somefile.ext 与我在 Finder 中双击文件的效果相同)。

【问题讨论】:

  • xdg-open file.ext 是一个选项吗?

标签: linux macos bash shell terminal


【解决方案1】:

最接近这个的是xdg-open

$ xdg-open somefile.ext

【讨论】:

【解决方案2】:

在 linux 上,kde-opengnome-open 用于特定的桌面环境,xdg-open 更通用,但仍必须从 DE 运行。

在windows上,(显然不是bash而是cmd.exe),我相信类似的命令是start

使用 bash 的跨平台代码可以是:

if which xdg-open &> /dev/null; then
    xdg-open $file       # linux
else
    open $file           # mac
fi

【讨论】:

    【解决方案3】:

    在您的 .profile 上

    export EDITOR='~/bin/mate -w'

    你的 bash 使用这个编辑器

    【讨论】:

    • 这意味着您必须编辑每个用户的.profile,并以某种方式使其与桌面文件关联数据库中定义的默认应用程序保持同步。
    • 您可以随时在 Bash 中使用。是为了那个会话。
    • 如果您是为自己编写,当然 - 您甚至可以在脚本中硬编码您的编辑器。如果是针对其他用户,我看不出您如何断言mate 是他们想要的。在我的系统上,您的路径甚至无效。
    • “-w”表示什么?它确实具有我正在寻找的效果(也就是它写入文件),但是在使用 Atom 时会强制打开一堆新窗口,这会让人分心。
    • 在那种情况下编辑器是TextMate:-w,--wait等待文件被TextMate关闭。
    猜你喜欢
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 2013-07-16
    • 2022-10-16
    • 2016-09-05
    • 2012-08-03
    • 1970-01-01
    • 2011-03-28
    相关资源
    最近更新 更多