中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

從一個linux腳本中學習bash shell

發布時間:2020-08-04 12:07:07 來源:ITPUB博客 閱讀:267 作者:Rman2017 欄目:建站服務器
以下是一個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表示沒有錯誤
 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

神木县| 扎兰屯市| 收藏| 保德县| 工布江达县| 安乡县| 广平县| 治多县| 蒲城县| 三台县| 开封市| 新巴尔虎左旗| 卢氏县| 建湖县| 康保县| 富民县| 余姚市| 六枝特区| 房产| 利辛县| 福海县| 兴化市| 渝中区| 崇左市| 克拉玛依市| 舞钢市| 泸定县| 南部县| 湾仔区| 循化| 乌拉特前旗| 石台县| 永顺县| 尼勒克县| 灵寿县| 侯马市| 石屏县| 宜昌市| 余江县| 原平市| 临夏县|