网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

从一个linux脚本中学习bashshell

以下是一个resin启动脚本,其中可以学到很多bash shell的知识点


#!/bin/sh                   // bash shell脚本
#
# Linux startup script for Resin   //#注释
# chkconfig: 345 85 15
# description: Resin is a Java Web server.
# processname: wrapper.pl
#
# To install, configure this file as needed and copy init.resin
# to /etc/rc.d/init.d as resin. Then use "# /sbin/chkconfig resin reset"
#
JAVA_HOME=/usr/local/java/jdk    // =号赋值
RESIN_HOME=/usr/local/resin


export JAVA_HOME RESIN_HOME    // export 定义全局变量


JAVA=$JAVA_HOME/bin/java       // $ 代表变量
#
# If you want to start the entire Resin process as a different user,
# set this to the user name. If you need to bind to a protected port,
# e.g. port 80, you can't use USER, but will need to use bin/resin.
#
USER=
#
# Set to the server id to start
#
#SERVER="-server app-a"
#
ARGS="-resin-home $RESIN_HOME $SERVER"


if test -r /lib/lsb/init-functions; then   // 判断语句     test -r /lib/lsb/init-functions 条件文件存在并可读
. /lib/lsb/init-functions                  // . 代表源 同source /lib/lsb/init-functions
else                                       //如果不符合上面的条件


log_daemon_msg () {                     //函数
      if [ -z "$1" ]; then                 // -z "$1" 变量$1长度为0   // $1 脚本执行时传过来的第一个参数
          return 1                       //返回
      fi


      if [ -z "$2" ]; then
          echo -n "$1:"              // -n 参数 输出不换行
          return
      fi
   
      echo -n "$1: $2"
}


log_end_msg () {
      [ -z "$1" ] && return 1    // [ -z "$1" ]为真,执行 return 1  


      if [ $1 -eq 0 ]; then       //比较,-eq等于
        echo " ."
      else
        echo " failed!"
      fi
   
    return $1
}


fi


case "$1" in                 //case 选择语句
start)                     //脚本第一个参数为start
log_daemon_msg "Starting resin"    //调用函数,传递参数
if test -n "$USER"; then           //条件:变量USER长度不为0
   su $USER -c "$JAVA -jar $RESIN_HOME/lib/resin.jar $ARGS start" 1>/dev/null 2>/dev/null  //su 以其它用户执行 -c执行命令后恢复身份
else
   $JAVA -jar $RESIN_HOME/lib/resin.jar $ARGS start 1>/dev/null 2>/dev/null     //1>dev/null 执行正常信息输出到空文件 2>错误信息
        fi
log_end_msg $?      // $? 上一条命令执行的结果 0表示成功,更多请查看其它文章
;;
stop)
log_daemon_msg "Stopping resin"
if test -n "$USER"; then
   su $USER -c "$JAVA -jar $RESIN_HOME/lib/resin.jar $ARGS stop" 1>/dev/null 2>/dev/null
else
   $JAVA -jar $RESIN_HOME/lib/resin.jar $ARGS stop 1>/dev/null 2>/dev/null
        fi
log_end_msg $?
;;
restart)
$0 stop       //$0 本脚本名
$0 start
;;
*)                  //除start stop restart外
echo "Usage: $0 {start|stop|restart}"
exit 1  //1表示有错误
esac


exit 0  //0表示没有错误
 



网站名称:从一个linux脚本中学习bashshell
文章网址:http://bjjierui.cn/article/pgpchc.html

其他资讯