本文介绍: linuxBash命令学习
可用点
#!/bin/bash
# 文件要以上面开始,.sh结尾的文件不需要
# 赋权文件可执行权限
chmod +x <fileName>
# 获取java jar包启动的进程id
ps -ef | grep *.jar | grep -v grep | awk '{print $2}'
shell变量
变量命令规则:
- 只能包含字母、数字、下划线;
- 不能以数字开口,可以包含数字;
- 不能使用Shell的关键字作为变量名
- 使用大写字母表示常量;
- 变量赋值不能使用空格,例如:PID=“pid”;
使用变量
#!/bin/bash
PID="pid"
P1=`ps -ef | grep *.jar | grep -v grep | awk '{print $2}'` # 1.使用命令执行结果作为变量
P1=`ps -ef | grep *.jar | grep -v grep | awk "{print $2}"` # 1.使用命令执行结果作为变量
P2="`ps -ef | grep *.jar | grep -v grep | awk '{print $2}'`" # 1.使用命令执行结果作为变量
PID=$(ps -ef | grep *.jar | grep -v grep | awk '{print $2}') # 2.
# 使用变量
echo $PID
echo "P1=$PID"
echo 'P2=$PID'
echo 'P3=''$PID' # 要成对
echo ${PID}
# 设置只读
only_read="Java"
readonly only_read
only_read="python" #会有提示
# 删除变量
unset only_read
echo ${only_read}
变量类型
# 字符串变量
s1="Hello World"
s2='Hello World'
# 整数变量
declare -i i1=128
# 数组变量
array_example=(1 2 3 4 5)
declare -A accociative_array
accociative_array["name"]="zs"
associative_array["age"]=18
# 读取环境变量
echo $JAVA_HOME
流程语句
if
#!/bin/sh
if [ condition ]; then
# ...
else
# ...
fi
#!/bin/sh
运算符
#!/bin/sh
###
SERVICE_NAME="lgsa-portRelease-mgr"
ENVFILE="../env"
PIDFILE="pid"
checkRunning(){
if [ -f "$PIDFILE" ]; then
if [ -z "`cat $PIDFILE`" ];then
echo "ERROR: Pidfile '$PIDFILE' exists but contains no pid"
return 2
fi
PID="`cat ${PIDFILE}`"
RET="`ps -p "${PID}"|grep java`"
if [ -n "$RET" ];then
echo "${RET}"
return 1;
else
return 0;
fi
else
return 0;
fi
}
status(){
if ( checkRunning );then
PID="`cat $PIDFILE`"
echo "'$SERVICE_NAME' is running (pid '$PID')"
exit 0
fi
echo "'$SERVICE_NAME' not running"
exit 1
}
#启动方法
start(){
if ( checkRunning );then
PID="`cat $PIDFILE`"
echo "INFO: Process with pid '$PID' is already running"
exit 0
fi
ENVIRONMENT="`cat ${ENVFILE}`"
java -jar -Xms64M -Xmx512M -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5105 -Dspring.config.location=config-${SERVICE_NAME}/application-${ENVIRONMENT}.yml -Dlogging.config=config-${SERVICE_NAME}/log4j2.xml ${SERVICE_NAME}-0.0.1-SNAPSHOT.jar --spring.profiles.active=${ENVIRONMENT} > console.log 2>&1 &
echo $! > "${PIDFILE}";
}
#停止方法
stop(){
if ( checkRunning ); then
PID="`cat ${PIDFILE}`"
echo "INFO: sending SIGKILL to pid '$PID'"
kill -KILL $PID
RET="$?"
rm -f "${PIDFILE}"
return $RET
fi
echo "INFO: not running, nothing to do"
return 0
}
show_help() {
cat << EOF
Tasks provided by the sysv init script:
stop - terminate instance in a drastic way by sending SIGKILL
start - start new instance
restart - stop running instance (if there is one), start new instance
status - check if '$SERVICE_NAME' process is running
EOF
exit 1
}
# show help
if [ -z "$1" ];then
show_help
fi
case "$1" in
status)
status
;;
restart)
if ( checkRunning );then
$0 stop
echo
fi
$0 start
$0 status
;;
start)
start
;;
stop)
stop
exit $?
;;
*)
esac
原文地址:https://blog.csdn.net/weixin_47748878/article/details/135913078
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_65147.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。