Shell脚本在启动过程中创建意外文件“start”

时间:2015-11-12 15:53:17

标签: bash shell

我找到并修改了一个简单的shell脚本来启动/停止jar,但是在启动脚本时会创建一个额外的空start文件。

我无法理解为什么。任何线索?

#!/bin/bash
case $1 in
    start)
        if [[ -e myprog.pid  ]]
        then
            echo "myprog.pid found. Is myprog already running?"
        else
            exec java -jar myprog-0.0.1-SNAPSHOT.jar 1>/dev/null 2>$1 &
            echo $! > myprog.pid;
        fi
        ;;
    stop) 
        kill $(cat myprog.pid);
        rm myprog.pid
        ;;
    *) 
        echo "usage: myprog {start|stop}" ;;
esac
exit 0

1 个答案:

答案 0 :(得分:3)

您的问题是2>$1。这是一个错字。

您的意思是2>&1

您编写的内容由shell扩展为2>start并创建您的文件。