shell脚本

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



如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,让更多的人能够享受到获取知识的快乐!因为本人初入职场,鉴于自身阅历有限,所以本博客内容大部分来源于网络中已有知识的汇总,欢迎各位转载,评论,大家一起学习进步!如有侵权,请及时和我联系,切实维护您的权益!
posted @   CS408  阅读(282)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示