背景:在服务器上部署项目的过程中不可避免的要使用的shell脚本,所以特开一文,慢慢积累!
1 实战获取当前的目录,需执行以下命令:
$(cd `dirname $0`;pwd)
其中,
dirname $0,取得当前执行的脚本文件的父目录
cd `dirname $0`,进入这个目录(切换当前工作目录)
pwd,显示当前工作目录(cd执行后的)
在使用的过程中需注意此事项:
命令中“`”不是英文的单引号,而是英文输入法下的“~”同一个按键下面的那个符号。
#!/bin/sh
source /etc/profile
SERVER=$(cd "$(dirname "$0")"; pwd)
CLASSNAME=szfs.basedata.server.BaseDataApplication
JAVA_OPT=-Xmx512m
cd $SERVER
case "$1" in
start)
for i in $SERVER/libs/*;
do CLASSPATH=$i:"$CLASSPATH";
done
export CLASSPATH=.:$CLASSPATH
echo "$CLASSPATH"
nohup java $JAVA_OPT $CLASSNAME > $SERVER/logs/sys.out 2>&1 &
echo $! > $SERVER/server.pid
;;
stop)
kill `cat $SERVER/server.pid`
rm -rf $SERVER/server.pid
;;
*)
echo "Usage: basedata.sh {start|stop}"
;;
esac
exit 0
1
dirname $0,取得当前执行的脚本文件的父目录cd `dirname $0`,进入这个目录(切换当前工作目录) pwd,显示当前工作目录(cd执行后的)