/hom" />

tomcat下bin文件夹下shell文件分析

系统 1692 0

   在bin下面有9个sh文件,本文将逐步分析,今天就以version.sh为例

  

      os400=
      
        false
      
      
        

#uname取操作系统名称 如Linux 如果为OS400的操作系统 特殊处理


      
      
        case
      
      
        "
      
      
        `uname`
      
      
        "
      
      
        in
      
      
        

OS400
      
      *) os400=
      
        true
      
      
        ;;


      
      
        esac
      
      
        



# resolve links 
      
      - $
      
        0
      
      
         may be a softlink

# 解析文件或者符号文件 得到真正文件

# 
      
      /home/dragonsuc/bin/version.
      
        sh
      
      
        

# 
      
      /home/dragonsuc/bin/tm ->/home/dragonsuc/bin/version.
      
        sh
      
      
        

#当以符号连接启动时 找到真正文件
      
      /home/dragonsuc/bin/version.
      
        sh
      
      
        

#取得当前执行文件名称

PRG
      
      =
      
        "
      
      
        $0
      
      
        "
      
      
        

#判断文件是否是符号文件 文件存在并且是符号文件


      
      
        while
      
       [ -h 
      
        "
      
      
        $PRG
      
      
        "
      
       ] ; 
      
        do
      
      
        

  # lr  。。。。 
      
      /home/dragonsuc/bin/tm ->/home/dragonsuc/bin/version.
      
        sh
      
      
        ls
      
      =`
      
        ls
      
       -
      
        ld
      
      
        "
      
      
        $PRG
      
      
        "
      
      
        `

  # 注意下面两行中expr精妙用法

  # 得到
      
      /home/dragonsuc/bin/version.
      
        sh
      
      
        

  link
      
      =`
      
        expr
      
      
        "
      
      
        $ls
      
      
        "
      
       : 
      
        '
      
      
        .*-> \(.*\)$
      
      
        '
      
      
        `

  
      
      
        if
      
      
        expr
      
      
        "
      
      
        $link
      
      
        "
      
       : 
      
        '
      
      
        /.*
      
      
        '
      
       > /dev/
      
        null
      
      ; 
      
        then
      
      
        

    PRG
      
      =
      
        "
      
      
        $link
      
      
        "
      
      
        else
      
      
        

    PRG
      
      =`
      
        dirname
      
      
        "
      
      
        $PRG
      
      
        "
      
      `/
      
        "
      
      
        $link
      
      
        "
      
      
        fi
      
      
        done
      
      
        

#得到目录路径 
      
      /home/dragonsuc/
      
        bin

PRGDIR
      
      =`
      
        dirname
      
      
        "
      
      
        $PRG
      
      
        "
      
      
        `

EXECUTABLE
      
      =catalina.
      
        sh
      
      
        



# Check that target executable exists


      
      
        if
      
       $os400; 
      
        then
      
      
        

  # 
      
      -x will Only work on the os400 
      
        if
      
      
         the files are:

  # 
      
      
        1
      
      
        . owned by the user

  # 
      
      
        2
      
      
        . owned by the PRIMARY group of the user

  # this will not work 
      
      
        if
      
       the user belongs 
      
        in
      
       secondary 
      
        groups
      
      
        

  eval


      
      
        else
      
      
        

  #测试文件的可执行权限

  
      
      
        if
      
       [ ! -x 
      
        "
      
      
        $PRGDIR
      
      
        "
      
      /
      
        "
      
      
        $EXECUTABLE
      
      
        "
      
       ]; 
      
        then
      
      
        echo
      
      
        "
      
      
        Cannot find $PRGDIR/$EXECUTABLE
      
      
        "
      
      
        echo
      
      
        "
      
      
        The file is absent or does not have execute permission
      
      
        "
      
      
        echo
      
      
        "
      
      
        This file is needed to run this program
      
      
        "
      
      
        

    exit 
      
      
        1
      
      
        fi
      
      
        fi
      
      
        

# 执行文件 $@是传递执行的参数

exec 
      
      
        "
      
      
        $PRGDIR
      
      
        "
      
      /
      
        "
      
      
        $EXECUTABLE
      
      
        "
      
       version 
      
        "
      
      
        $@
      
      
        "
      
    

 

tomcat下bin文件夹下shell文件分析


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论