背景:在服务器上部署项目的过程中不可避免的要使用的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执行后的)