shell 不太熟..写了个出了点小问题..谁帮忙看下

#!/bin/sh

usage()
{
    echo "Usage: 启动配置参数"
    echo "       可定制参数             online or niusmallnan"
}

if (($# == 0))
then
    usage
    exit
fi

cd services
ps aux | grep msx_apns | grep -v 'grep' | awk '{print $2}' | xargs kill -s 9

case $1 in
    online)
        nohup ./msx_apns_service.py ../conf/apns_config_online.py > /dev/null &
        ;;
    niusmallnan)
        nohup mypython msx_apns_service.py ../conf/apns_config_niusmallnan.py > /dev/null &
        ;;
    *)
        usage
        exit 0
esac

运行后有个小报错:
./apns_service.sh: 15: 0: not found
就是fi那行

但是即便如此 后面的语句也都执行了..
对shell不太熟..谁给看下

阅读 6k
4 个回答

楼主用的是ubuntu ,这个shell的头没写对
ubuntu的 /bin/sh 指向的/bin/dash(Debian Almquist Shell)
而不是大家通常用的/bin/bash
dash更小且语法和bash略有不同..
把头换成/bin/bash 就ok了..

亲~~~数字比较不用 ==

#!/bin/bash

usage()
{
    echo "Usage: 启动配置参数"
        echo "       可定制参数             online or niusmallnan"
}

if (($# == 0)) # 或者是 if [[ 0 -eq $# ]]
then
    usage
    exit
fi

if [[ -d services ]] # cd 之前增加文件夹是否存在的判断
then
    cd services
else
    echo "No services Directory."
fi


ps aux | grep msx_apns | grep -v 'grep' | awk '{print $2}' | xargs kill -s 9

case $1 in
online)
    nohup ./msx_apns_service.py ../conf/apns_config_online.py > /dev/null &
    ;;  
niusmallnan)
    nohup mypython msx_apns_service.py ../conf/apns_config_niusmallnan.py > /dev/null &
    ;;  
*)
    usage
    exit 0
esac

另外,括号的问题,看这里 http://www.jiajun.org/2011/10/17/brac...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进