Yerbacon/scripts/ybcon

84 lines
1.7 KiB
Plaintext
Raw Normal View History

#!/bin/sh
# ybcon start script
EXENAME=ybcon
scriptDir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P)
# Location of the executable
defaultBinLocation="$scriptDir/../libexec/ybcon"
usage() {
if [ "$1" = false ]; then echo "Invalid arguments, usage:"; fi
echo "$EXENAME [--version] [-h|--help] [--target=<target>] [-p|--printresult] <file>"
if [ "$1" = true ]; then
echo " --version Print the version"
echo " -h or --help What you're seeing right now"
echo " --target=<target> Set the transpilation target"
echo " -p or --printresult Enable printing the transpilation result to stdout"
fi
}
usageExit() {
usage false
exit 0
}
args="";
run=false;
skipArgsIteration=false;
newArgs() {
if [ "$args" = "" ]; then
args="$args$1"
else
args="$args $1"
fi
}
if [ "$#" != 0 ]; then
if [ "$#" = 1 ]; then
if [ "$1" = "--version" ]; then
run=true
args="$1"
skipArgsIteration=true;
fi
fi
if [ "$skipArgsIteration" = false ]; then
for it in "$@"
do
case "$it" in
-h | --help | --version )
if [ "$#" = 1 ]; then usageExit; else
usage true; exit 0;
fi ;;
-p | --printresult | --target=* )
if test "${args#*$it}" = "$args"; then
if [ "$#" = 1 ]; then usage false; exit 0; else
newArgs "$it"
fi
else
usageExit
fi ;;
*.ybcon )
newArgs "$it"
run=true ;;
* )
usageExit ;;
esac
done
fi
else
usage false
fi
runIt() { eval "$1" " $args"; }
if [ "$run" = true ]; then
if [ -f $defaultBinLocation ]; then
runIt "$defaultBinLocation"
elif [ -f ybcon ]; then
runIt "./ybcon"
fi
fi