早教吧 育儿知识 作业答案 考试题库 百科 知识分享

linux中tomcat启动脚本,/bin/sh#LicensedtotheApacheSoftwareFoundation(ASF)underoneormore#contributorlicenseagreements.SeetheNOTICEfiledistributedwith#thisworkforadditionalinformationregardingcopyrightownership.#TheASF

题目详情
linux 中tomcat启动脚本,
/bin/sh
# Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements.See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License,Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.You may obtain a copy of the License at
#
#
# Unless required by applicable law or agreed to in writing,software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# -----------------------------------------------------------------------------# Start Script for the CATALINA Server
#
# $Id:startup.sh 1130937 2011-06-03 08:27:13Z markt $
# -----------------------------------------------------------------------------
# Better OS/400 detection:see Bugzilla 31132os400=false
darwin=false
case "`uname`" in
CYGWIN*) cygwin=true;;
OS400*) os400=true;;
Darwin*) darwin=true;;
esac
# resolve links - $0 may be a softlinkPRG="$0"
while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"`
link=`expr "$ls" :'.*-> \(.*\)$'`
if expr "$link" :'/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`/"$link"
fi
done
PRGDIR=`dirname "$PRG"`
EXECUTABLE=catalina.sh
# Check that target executable existsif $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" start "$@"
请高手说明一下每行的作用.
▼优质解答
答案和解析
#!/bin/sh ---- 说明本文件是脚本
darwin=false
case "`uname`" in
CYGWIN*) cygwin=true;;
OS400*) os400=true;;
Darwin*) darwin=true;;
esac
----------------------------这几行,判断操作系统类别
while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"`
link=`expr "$ls" :'.*-> \(.*\)$'`
if expr "$link" :'/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`/"$link"
fi
done
-------------------------------------------判断本脚本是否软链接
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
------------------------------判断本脚本是否能“执行”,如果不能,退出、提示
exec "$PRGDIR"/"$EXECUTABLE" start "$@" ------运行tomcat,后面的 $@是所有命令行参数