#!/bin/sh SUP_BUILD_DIR="$HOME/src/builds/sup" SUP_BIN_DIR="$SUP_BUILD_DIR/bin" SUP_LIB_DIR="$SUP_BUILD_DIR/lib" ask_for() { echo "Choose one of the following:" >&2 for command in $@ do echo " ${command#*/sup-}" >&2 done exit 1 } match_found() { if [ ! "$2" -a "$1" -a -f "$1" ] then return 0 else return 1 fi } exec_cmd() { if [ ! "$2" -a "$1" -a -f "$1" ]; then echo "Executing $1 $ARGS" ruby -I $SUP_LIB_DIR -w $1 $ARGS exit 0 fi } COMMAND="$1" if [ ! "$COMMAND" ] then ask_for $(ls -1 $SUP_BIN_DIR/sup-*) fi shift ARGS="$@" CANDIDATE=$(ls -1 $SUP_BIN_DIR/sup-${COMMAND} 2> /dev/null) if match_found $CANDIDATE then exec_cmd $CANDIDATE fi CANDIDATES=$(ls -1 $SUP_BIN_DIR/sup-${COMMAND}*) if match_found $CANDIDATES; then exec_cmd $CANDIDATES elif [ "$CANDIDATES" ]; then ask_for $CANDIDATES else ask_for $(ls -1 $SUP_BIN_DIR/sup-*) fi