############################
+function whichable()
+{
+ to_find="$1"; shift
+ which which &>/dev/null
+ if [ $? -ne 0 ]; then
+ # there is no which command here. we produce nothing due to this.
+ echo
+ fi
+ echo $(which $to_find)
+}
+
+# this reports when we have totally failed to figure out where a folder
+# is actually located on the machine.
function intuition_failure()
{
missing="$1"; shift
- echo "We cannot intuit your $missing variable for this host."
+ if [ ! -z "$SHELL_DEBUG" ]; then
+ echo "Could not intuit '$missing' variable."
+ fi
# remove the variable because its value is busted.
unset $missing
}
JAVA_BIN_PIECE=Commands
fi
# last thing is to tell them we couldn't find it.
-if [ ! -d "$JAVA_HOME" ]; then
- if [ ! -z "$(which java)" ]; then
- echo "JAVA_HOME unknown, but java is in path."
- else
- intuition_failure JAVA_HOME
- unset JAVA_BIN_PIECE
- fi
+if [ ! -d "$JAVA_HOME" -a -z "$(whichable java 2>/dev/null)" ]; then
+ intuition_failure JAVA_HOME
+ unset JAVA_BIN_PIECE
fi
############################
ECLIPSE_DIR="/e/tools/eclipse"
fi
# final option is to whine.
-if [ ! -d "$ECLIPSE_DIR" ]; then
- if [ ! -z "$(which eclipse)" ]; then
- echo "ECLIPSE_DIR unknown, but eclipse is in path."
- else
- intuition_failure ECLIPSE_DIR;
- fi
+if [ ! -d "$ECLIPSE_DIR" -a -z "$(whichable eclipse 2>/dev/null)" ]; then
+ intuition_failure ECLIPSE_DIR
fi
############################