Jas*_*n S 3 terminal shell macos
我正在寻找一个简单的脚本来执行以下操作。任何人都可以尝试一下吗(+ 如果神秘,请解释它的作用),或者给我一些指示,以便我可以自己运行它?
我想从命令行提示符启动 Applications 目录中的 GUI 应用程序,并在必要时为其提供参数:
$> launch Foobar arg1 arg2 arg3
Run Code Online (Sandbox Code Playgroud)
启动 shell 脚本应该做的是:
1) 读取一个如下所示的配置文件:
/Applications/$0.app
/Applications/$0
/Applications/**/$0.app
/Applications/**/$0
Run Code Online (Sandbox Code Playgroud)
2)尝试将本例中的第一个参数(“Foobar”)与配置文件的每一行按顺序匹配,“*”代表路径段中的任何字符序列,“**”代表任何路径段,并$0
表示程序名称。因此,在这种情况下,它会在 Applications 目录及其任何子目录中查找 Foobar.app 和 Foobar。
3) 使用指定的剩余参数(“arg1”、“arg2”、“arg3”)执行结果命令
这听起来很简单,但我现在对 shell 脚本来说太陌生了。我可能最终会使用JSDB,因为我知道如何使用它。我只是不确定如何指定一个名为“launch”的脚本应该要求 JSDB 程序运行它,或者它是否与这样做兼容。
特定用例:如果我在命令提示符中的目录中,我经常想要执行以下操作之一:
特别是,昨天我想编辑我的Mercurial .hg/hgrc 文件,我花了很长时间才弄清楚如何编辑,因为 .hg 是一个隐藏在 GUI 文件打开对话框中的目录。我仍然不记得我是如何让它工作的。
“打开”是您想要的命令。使用它来查看打开的选项
open -h
Run Code Online (Sandbox Code Playgroud)
你会看到在 textedit 中打开一些东西,只需使用 -e
open -e foo.txt
Run Code Online (Sandbox Code Playgroud)
如果它不存在,只需“触摸”文件并打开它:
touch foo.txt
open -e foo.txt
Run Code Online (Sandbox Code Playgroud)
还有其他应用程序(如 textmate),我认为它们是更好的 GUI 编辑器,它们安装自己的命令行命令(即:mate),可以自动创建文件。
要使用默认编辑器打开当前文件,只需不要传递任何开关。因此,如果 .txt 文件在您的系统上与 TextEdit 相关联,则只需使用“open foo.txt”即可。由于目录会自动与 Finder 关联,因此只需使用
open .
Run Code Online (Sandbox Code Playgroud)
在finder中打开当前目录。
归档时间: |
|
查看次数: |
599 次 |
最近记录: |