Fix shellcheck warnings in CLI's bash script

See gh-11458
This commit is contained in:
leogtzr 2018-01-01 05:37:30 -04:00 committed by Andy Wilkinson
parent aaecdfb527
commit 69b844cb13
1 changed files with 52 additions and 36 deletions

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash
# OS specific support (must be 'true' or 'false').
cygwin=false;
darwin=false;
case "`uname`" in
cygwin=false
darwin=false
case "$(uname)" in
CYGWIN*)
cygwin=true
;;
@ -18,42 +18,57 @@ case "`uname`" in
esac
# For Cygwin, ensure paths are in UNIX format before anything is touched.
if $cygwin ; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
if ${cygwin} ; then
[ -n "${JAVA_HOME}" ] && JAVA_HOME=$(cygpath --unix "${JAVA_HOME}")
fi
# Attempt to find JAVA_HOME if not already set
if [ -z "${JAVA_HOME}" ]; then
if $darwin ; then
[ -z "$JAVA_HOME" -a -f "/usr/libexec/java_home" ] && export JAVA_HOME=`/usr/libexec/java_home`
[ -z "$JAVA_HOME" -a -d "/Library/Java/Home" ] && export JAVA_HOME="/Library/Java/Home"
[ -z "$JAVA_HOME" -a -d "/System/Library/Frameworks/JavaVM.framework/Home" ] && export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Home"
if ${darwin} ; then
if [[ -z "${JAVA_HOME}" && -f "/usr/libexec/java_home" ]]; then
JAVA_HOME=$(/usr/libexec/java_home)
export JAVA_HOME
fi
if [[ -z "${JAVA_HOME}" && -d "/Library/Java/Home" ]]; then
export JAVA_HOME="/Library/Java/Home"
fi
if [[ -z "${JAVA_HOME}" && -d "/System/Library/Frameworks/JavaVM.framework/Home" ]]; then
export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Home"
fi
else
javaExecutable="`which javac`"
[ -z "$javaExecutable" -o "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ] && echo "JAVA_HOME not set and cannot find javac to deduce location, please set JAVA_HOME." && exit 1
javaExecutable="$(which javac)"
if [[ -z "$javaExecutable" || "$(expr "${javaExecutable}" : '\([^ ]*\)')" = "no" ]]; then
echo "JAVA_HOME not set and cannot find javac to deduce location, please set JAVA_HOME."
exit 1
fi
# readlink(1) is not available as standard on Solaris 10.
readLink=`which readlink`
[ `expr "$readLink" : '\([^ ]*\)'` = "no" ] && echo "JAVA_HOME not set and readlink not available, please set JAVA_HOME." && exit 1
javaExecutable="`readlink -f \"$javaExecutable\"`"
javaHome="`dirname \"$javaExecutable\"`"
javaHome=`expr "$javaHome" : '\(.*\)/bin'`
JAVA_HOME="$javaHome"
readLink=(which readlink)
[ $(expr "$readLink" : '\([^ ]*\)') = "no" ] && {
echo "JAVA_HOME not set and readlink not available, please set JAVA_HOME."
exit 1
}
javaExecutable="$(readlink -f "${javaExecutable}")"
javaHome="$(dirname "${javaExecutable}")"
javaHome=$(expr "$javaHome" : '\(.*\)/bin')
JAVA_HOME="${javaHome}"
export JAVA_HOME
fi
fi
# Sanity check that we have java
if [ ! -f "${JAVA_HOME}/bin/java" ]; then
echo ""
echo "======================================================================================================"
echo " Please ensure that your JAVA_HOME points to a valid Java SDK."
echo " You are currently pointing to:"
echo ""
echo " ${JAVA_HOME}"
echo ""
echo " This does not seem to be valid. Please rectify and restart."
echo "======================================================================================================"
echo ""
cat <<-JAVA_HOME_NOT_SET_TXT
======================================================================================================
Please ensure that your JAVA_HOME points to a valid Java SDK.
You are currently pointing to:
${JAVA_HOME}
This does not seem to be valid. Please rectify and restart.
======================================================================================================
JAVA_HOME_NOT_SET_TXT
exit 1
fi
@ -63,17 +78,18 @@ if [ -z "${SPRING_HOME}" ]; then
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
ls=$(ls -ld "$PRG")
link=$(expr "$ls" : '.*-> \(.*\)$')
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
PRG=$(dirname "$PRG")"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/../" >&-
export SPRING_HOME="`pwd -P`"
SAVED="$(pwd)"
cd "$(dirname "${PRG}")/../" >&-
SPRING_HOME="$(pwd -P)"
export SPRING_HOME
cd "$SAVED" >&-
fi
@ -84,7 +100,7 @@ if [ ! -d "${SPRING_HOME}" ]; then
fi
CLASSPATH=.:${SPRING_HOME}/bin
if [ -d ${SPRING_HOME}/ext ]; then
if [ -d "${SPRING_HOME}/ext" ]; then
CLASSPATH=$CLASSPATH:${SPRING_HOME}/ext
fi
for f in ${SPRING_HOME}/lib/*; do
@ -92,8 +108,8 @@ for f in ${SPRING_HOME}/lib/*; do
done
if $cygwin; then
SPRING_HOME=`cygpath --path --mixed "$SPRING_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
SPRING_HOME=$(cygpath --path --mixed "$SPRING_HOME")
CLASSPATH=$(cygpath --path --mixed "$CLASSPATH")
fi
"${JAVA_HOME}/bin/java" ${JAVA_OPTS} -cp "$CLASSPATH" org.springframework.boot.loader.JarLauncher "$@"