我找不到此脚本错误的根本原因。有人可以帮助我吗?提前谢谢。这是整个脚本细节。
#!/bin/sh
CWD=`pwd`
LAUNCH_DIRECTORY=`eval dirname $0`
cd $LAUNCH_DIRECTORY
LAUNCH_DIRECTORY=`pwd`
cd $CWD
if [ -d "${LAUNCH_DIRECTORY}/java/bin" ]; then
JAVA_HOME=${LAUNCH_DIRECTORY}/java
fi
if [ "${JAVA_HOME}" != "" ]; then
PATH=${JAVA_HOME}/bin:${PATH}
fi
JAVA_VERSION=$(java -version 2>&1 | grep -i version |
cut -d'"' -f2 | cut - d'.' -f2)
if [ -z "${JAVA_VERSION}" ] || [ "${JAVA_VERSION}" -lt 8 ]; then
YAB_JAVA_OPTS="-XX:MaxPermSize=256m ${YAB_JAVA_OPTS}"
fi
export TERM=xterm
java ${YAB_JAVA_OPTS}
-Dlaunch.dir="${LAUNCH_DIRECTORY}"
-jar "${LAUNCH_DIRECTORY}/lib/yab-loader.jar" ${YAB_OPTS} ${1+"$@"}
if [ -z "${JAVA_VERSION}" ] || [ "${JAVA_VERSION}" -lt 8 ]; then
不正确。替换 - 例如 - 由
if [ "${JAVA_VERSION:-0}" -lt 8 ]; then
其他可能性:
if ( [ -z "${JAVA_VERSION}" ] || [ "${JAVA_VERSION}" -lt 8 ] ); then
或者像这样:
if [ -z "${JAVA_VERSION}" -o "${JAVA_VERSION}" -lt 8 ]; then
或者这个:
[ -z "${JAVA_VERSION}" ] || [ "${JAVA_VERSION}" -lt 8 ] && YAB_JAVA_OPTS="-XX:MaxPermSize=256m ${YAB_JAVA_OPTS}"
原因:if
的"参数"必须是命令。你写的,是两个由||
连接的命令.
除此之外,变量 JAVA_VERSION
的赋值中缺少右括号。