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