Mac OS X:想要的简单脚本

Mac OS X:想要的简单脚本

我正在寻找一个可以执行以下操作的简单脚本。有人可以尝试一下吗(+如果难以理解,请解释一下它的作用),或者给我一些提示,以便我自己可以运行它?

我想从命令行提示符启动应用程序目录中的 GUI 应用程序,并在必要时为其提供参数:

$> launch Foobar arg1 arg2 arg3

启动 shell 脚本应该做的事情是:

1)读取如下所示的配置文件:

/Applications/$0.app
/Applications/$0
/Applications/**/$0.app
/Applications/**/$0

2)在这种情况下,尝试将第一个参数(“ foobar”)与配置文件的每一行匹配,以“*”代表路径段中的任何字符序列,而“ **”代表任何路径段,并$0代表程序名称,因此在这种情况下正在寻找foobar.app和foobar。

3)使用指定的其余参数(“arg1”、“arg2”、“arg3”)执行结果命令

听起来很简单,但我现在对 shell 脚本还不太熟悉。我可能最终会使用江苏省数据库因为我知道如何使用它。我只是不确定如何指定名为“launch”的脚本需要 JSDB 程序来运行它,或者它是否与此兼容。

具体用例:如果我在命令提示符下的目录中,我经常想执行以下操作之一:

  • 启动textedit创建一个名为x的新文件
  • 启动 TextEdit 打开名为 X 的文件
  • 启动{您最喜欢的程序的名称}来创建或打开名为 X 的文件
  • 在此目录中打开 Finder 窗口

特别是我想编辑我的Mercurial.hg/hgrc 文件,我花了很长时间才弄清楚如何操作,因为 .hg 是一个隐藏在 GUI 文件打开对话框中的目录。我仍然不记得我是如何让它工作的。

答案1

“open” 是您想要的命令。使用它来查看打开选项

open -h

你会发现,要在文本编辑中打开某些内容,只需使用 -e

open -e foo.txt

如果不存在,只需“触摸”该文件并打开它:

touch foo.txt 
open -e foo.txt

我认为还有其他应用程序(例如 textmate)是更好的 GUI 编辑器,它们安装了自己的命令行命令(即:mate),可以自动创建文件。

要使用默认编辑器打开当前文件,请不要通过任何切换,因此,如果您的系统在您的系统上与Textedit相关联,则只需使用“ open foo.txt”。

open .

在 Finder 中打开当前目录。

答案2

从终端启动 GUI 应用程序的一种快速方法是使用open -a AppName。但您无法通过这种方式传递命令行参数。

但是,似乎少数程序甚至接受命令行参数,要求用户写这样的脚本以使用命令行参数mvim

您能否提供一个更具体的例子来说明您希望该脚本实现的目标?

相关内容