command 文件 – 在 macOS 下编写双击运行的脚本及获取当前目录执行相关命令(类似 Windows 下的 bat)

发布于 2017-02-10  4377 次阅读


例如,需要使用 mono 运行当前目录下的 xiaoruanjian.exe,使用编辑器编写:

#!/bin/bash

cd $(dirname $BASH_SOURCE) || {
    echo Error getting script directory >&2
    exit 1
}

mono xiaoruanjian.exe

然后保存为 filename.command,即可双击运行。第一行的作用是声明使用 bash 进行解析,这是所有类 Unix Shell 都应该加上的声明。 第二段的作用是获取当前路径并转到该路径,如果获取时出现错误,就打印错误并退出。当然,你也可以选择保存在变量中:

mydir=$(cd $(dirname $BASH_SOURCE) && pwd) || {
    echo Error getting script directory >&2
    exit 1
}

接下来只要使用 $mydir 即可进行引用,如打印当前目录下的文件和目录: ```

ls $mydir

参考
http://superuser.com/questions/503253/how-to-specify-batch-command-file-current-location-in-mac-os-x/503278
http://stackoverflow.com/questions/5125907/how-to-run-a-shell-script-in-os-x-by-double-clicking


寻找属于自己的1%