终端脚本统一入口

  相较Windows用户而言,Mac和*nix用户更喜欢用脚本处理一些日常的操作,脚本语言可以是Shell、Python、Ruby、Perl或甚至是Mac上的Applescript,一段时间下来可能累计了不少,但这时又会遇到想进行某项操作时却无法快速获取相应的脚本文件,失去了使用脚本原本该有的便捷与效率。

  其实我们可以建立一个简单的Shell文件做为这些脚本的入口,只要记住一些简单的命令就可以快速的执行相应的脚本,实现方法如下:

1. 建立统一入口脚本

#!/bin/bash

#检查环境变量
if [ -z $KITS ]; then
    . $(cd $(dirname $0); pwd)/build-env.sh
fi

#Applescrit接口文件
OSASPORT=$KITSSHELL/osasport.applescript

#使用说明
function usage() {
    more "${KITSSHELL}/misc/kits-usage.txt"
}

function sshkey() {
    if [ -f $KITSSHELL/private.sh ]; then 
        . $KITSSHELL/private.sh sshkey 
    else
        echo 'kits: sshkey is not a kits command.'
    fi
}

case $1 in
    'backup' )     #备份文件到NAS
        $KITSSHELL/backup/backup.sh
        ;;
    'genpac' )     #通过GenPAC生成自动代理配置文件
        $KITS/GenPAC/genpac.py
        ;;
    'mamp' )       #MAMP管理
        $KITSSHELL/mamp.sh $2
        ;;
    'itunes' )     #部分itunes操作
        osascript $OSASPORT itunes $2 $3
        ;;
    'sshkey' )     #SSH秘钥处理
        sshkey
        ;;
    'usage' )      #使用说明
        usage
        ;;
    '' )
        usage
        ;;
    * )
        echo "kits: '$1' is not a kits command. See 'kits usage'."
        ;;
esac

  将上述内容保存为kits.sh或其它任意名称,需要注意的是上面脚本里的内容是我个人所使用的,只是作为例子,大部分是无法运行的,你需要根据自己的需要修改。

2. 添加系统环境变量

  上面的脚本虽然已经实现了做为其它脚本入口的功能,但使用时还不够方便,需要将它系统环境变量中,更容易访问,可能有人已经注意到上面代码中出现的build-env.sh文件,它的目的就是建立一些环境变量。

#!/bin/bash

# 建立Kits的运行环境
# 在~/.bash_profile 添加 source PATH/TO/build-env.sh

# 注意 这里不能用相对路径

#Kits所在目录
export KITS="${HOME}/Developer/Misc/MacOSX-Kits"

export KITSSHELL="${KITS}/Shell"
export PATH="${KITSSHELL}:${PATH}"

#建立别名
alias kits="kits.sh"

  最后再在~/.bash_profile的末尾添加. /PATH/TO/builde-env.sh(或source /PATH/TO/builde-env.sh)让它在用户登陆终端时被执行。

  经过这样设置,在任意时候任意目录下只要在终端输入形如kits usagekit mamp start等命令就可以快速执行相应的脚本了。

  BTW: 我日常使用的部分脚本都陆续放到GitHub上了,有兴趣可以看看。

MacOSX Kits