We have alreadly spent a good amount of time talking about UMBC's submit utility. However many of you wish to do things like compile or even run your submitted program once it is submitted. I have seen many instances where a student has forgotten to submit a small part of a project, such as a header file, and loses a bunch of points for it not compiling.
I have written a script that allows you to execute arbitrary commands from within your submittial directory. Some of you had previously brought to my attention that some of the courses provide such program, but as it turns out many of them are written for a specific course and are compiled for a particular architecture (such as Linux and not IRIX or Solaris). So I have written a cross platform (works on any of the UNIX systems that we have here) script that allows you to use it for any course.
It is in my public directory: /afs/umbc.edu/users/d/h/dhood2/pub/submit_utilities/ and the name of the script is called submitexec
The usage for this script is inline with all of the other submit utilities. The first command line argument is the course, the second is the project and then any latter arguemtns are the command(s) that you want to execute.
This is a very versitile script. You can do anything from an ls command to compiling and running your program where the grader will do so. I suggest making a copy of this script and placing it in your own bin directory.
linux2 [3]# submit cs331 proj2 hello.c Submitting hello.c...OK linux2 [4]# submitexec cs331 proj2 ls Executing the command: ls hello.c Execution complete: exit status = 0 linux2 [5]# submitexec cs331 proj2 ls -l Executing the command: ls -l total 1 -rw-r--r-- 1 dhood2 general 78 Apr 20 10:42 hello.c Execution complete: exit status = 0 linux2 [6]# submitexec cs331 proj2 gcc -Wall -ansi hello.c Executing the command: gcc -Wall -ansi hello.c Execution complete: exit status = 0 linux2 [7]# submitexec cs331 proj2 a.out Executing the command: a.out Hello World! Execution complete: exit status = 256 linux2 [8]#
Note: some of you may have used submitmake or heard of it. This script is also capable of doing that as well. If you rename the script (or create a symbolic link) with the name submitmake it will act like the submitmake provided in other courses. Again, it is no longer limited to a particular course or a particular architecture.