script for interactive shell teaching
authorKyle Spaans <kspaans@uwaterloo.ca>
Tue, 28 Jun 2011 03:54:33 +0000 (23:54 -0400)
committerKyle Spaans <kspaans@uwaterloo.ca>
Tue, 28 Jun 2011 03:54:33 +0000 (23:54 -0400)
tut.sh [new file with mode: 0755]

diff --git a/tut.sh b/tut.sh
new file mode 100755 (executable)
index 0000000..a2be60d
--- /dev/null
+++ b/tut.sh
@@ -0,0 +1,73 @@
+#!/bin/bash
+
+
+#
+# - rather than the "roger" keyword, check their input line for the "expected"
+# expression
+# 
+# 
+#
+
+e() {
+while true; do
+       echo -n "# "
+       read userinput
+       if [ "$userinput" != "roger" ]; then
+               $userinput
+       else
+               break;
+       fi
+done
+}
+
+p() {
+       echo -ne "\t>>> HIT ENTER TO CONTINUE <<<"
+       read blah
+}
+
+################################################################################
+
+echo -e "U N I X  T U T O R I A L :  ISIS AND PERRY"
+if [ ! -d "accounting" ]; then mkdir accounting ; fi
+
+echo -e "\033[1;31mI: OK, type at the prompt, it looks like this, \"#\"\033[0m"
+p
+echo "I: Say \"roger\" once you've figured out what I'm telling you."
+p
+echo "I: First, what user are you logged in as right now? Type \`whoami\`."
+e
+echo "P: Pericles, oh, that's my name!"
+p
+echo "I: OK good. Go to the accounting directory."
+p
+echo "P: What? I don't even know where I am!"
+p
+echo "I: Oh, sorry. You can always type \`pwd\` to see where you are in the system."
+e
+echo "P: Umm, that's half of my problem... But I am in what I think is my home directory."
+p
+echo "I: Good, that's where you almost always start."
+p
+echo "I: Can you see the accounting directory?"
+p
+echo "P: I can't see anything! I just see the prompt..."
+p
+echo "I: What!? Are the files gone? Type \`ls\`. That will list all of the files and directories in your current directory."
+e
+echo "P: Oh, OK, there is the accounting directory. Now what?"
+p
+echo "I: Change your directory using the \`cd\` command."
+p
+echo "P: I'm confused, how do I use the command?"
+p
+echo "I: The syntax for using the command line is like
+  \"cmd arg0 arg1 arg2 ...\"
+Where \"cmd\" is the name of the command, or \`cd\` in our case, and after a
+space there is the list of arguments. Always seperate the command and the first argument, or any two arugments, using spaces."
+p
+echo "I: Boy, I'm going to have to show you everything, aren't I Perry?"
+p
+echo "P: No no, I'm getting the hang of this now. I give the \`cd\` command the argument \"accounting\"."
+e
+echo "P: OK, now what?"
+p