From: Brian Norris <banorris@uci.edu>
Date: Tue, 20 Nov 2012 00:39:36 +0000 (-0800)
Subject: run.sh: rewrite script to handle options more gracefully
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=6c50e3a2f6975a2f5c225351eb33218fcfefa1e7;p=cdsspec-compiler.git

run.sh: rewrite script to handle options more gracefully

Now you can do:

  ./run.sh [OPTIONS]

without having to specify a particular program (defaults to
./test/userprog.o).
---

diff --git a/run.sh b/run.sh
index d4bf030..c8dbeb4 100755
--- a/run.sh
+++ b/run.sh
@@ -2,8 +2,9 @@
 #
 # Runs a simple test (default: ./test/userprog.o)
 # Syntax:
-#  ./run.sh [gdb]
-#  ./run.sh [test program] [gdb]
+#  ./run.sh [test program] [OPTIONS]
+#  ./run.sh [OPTIONS]
+#  ./run.sh [gdb [test program]]
 #
 # If you include a 'gdb' argument, the your program will be launched with gdb.
 # You can also supply a test program argument to run something besides the
@@ -11,14 +12,11 @@
 #
 
 BIN=./test/userprog.o
+PREFIX=
 
 export LD_LIBRARY_PATH=.
 
-[ $# -gt 0 ] && [ "$1" != "gdb" ] && BIN=$1 && shift
+[ $# -gt 0 ] && [ "$1" = "gdb" ] && PREFIX=gdb && shift
+[ $# -gt 0 ] && [ -x "$1" ] && [ -f "$1" ] && BIN="$1" && shift
 
-if [ $# -gt 0 ] && [ "$1" = "gdb" ]; then
-	shift
-	gdb $BIN $@
-fi
-
-$BIN $@
+$PREFIX $BIN $@