我找到并修改了一个简单的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
答案 0 :(得分:3)
您的问题是2>$1
。这是一个错字。
您的意思是2>&1
。
您编写的内容由shell扩展为2>start
并创建您的文件。