背景:在服务器上部署项目的过程中不可避免的要使用的shell脚本,所以特开一文,慢慢积累!
1 实战
Linux下获取当前的目录,需执行以下命令:
$(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执行后的)