CS 2500
Making a Script

Once you are satisfied that your program is complete and runs correctly, you will make a script (record) of running your program. You will turn in the script (in a separate file) along with your program source code.

Suppose that you have a "Hello World" program is called prog1.cpp. In the terminal, make sure you are in the directory with you program:

mmartin@soleil:(~/1500) script script_prog1
Script started, file is prog1.script
mmartin@soleil:(~/1500) g++ prog1.cpp
mmartin@soleil:(~/1500) a.out
Hello World!
mmartin@soleil:(~/1500) exitScript done, file is prog1.script

Here's an explanation of what you just did: The "script" command turns on a program that makes a record of whatever appears on the screen. The command you entered was "script script_prog1" so the record the script program makes will be a file called script_prog1.

Enter "a.out" and see your "Hello World!" message written to the screen again. Now enter "exit" to turn off the scripting program. From the time you entered "script script_prog1" to the time you entered "exit", all things that were written on the screen were also recorded in the file called prog1.script.

Enter clear to clear the screen. Now enter "cat script.prog1". This causes the computer to type the contents of the script file you made. It should look something like this:
mmartin@soleil:(~/1500) cat script_prog1 
Script started on Tue Jan 29 18:52:53 2008
mmartin@soleil:(~/1500) g++ prog1.cpp
mmartin@soleil:(~/1500) a.out
Hello World!
mmartin@soleil:(~/1500) exit
script done on Tue Jan 29 18:53:51 2008

Note that the script file (named script_prog1) starts and ends with "timestamps" that tell when the script was started, and when it was completed. In between it reproduces what you typed.

Now enter "pico script_script" so you can look at the script file with the PICO editor. You see your script. You also see "weird" characters in the script like ^M at the end of each line, and maybe some other things. These characters are an undesirable side-effect of the way the scripting program interacts with special characters that handle the terminal display. The weird characters are sometimes visible, and sometimes not, depending on just how you try to display your script file. The characters were not visible when you displayed prog1.script with "cat," but they were visible when you used PICO. Do a ^x command (hold down the "ctrl" key and press "x") to exit PICO.

When you turn in a real programming assignment, you will be sending me the source code, plus a script similar to the one you just made. The script will be a record that will show me that you did the right kind of testing of your program.

I require you to run your script through a filter before you send it to me. It's a way to get rid of most of the weird characters, so the script will be more readable. It is easy to do, no matter how big the script is.

Here's how: Enter "cat script_prog1 | col -b > temp". This command pipes the script file to the input of the command "col -b > temp", which filters out some of the weird characters and writes the output to a file named temp. Now the temp file is the filtered version of the script. Enter "mv temp script_prog1" to replace the script file with the new filtered version. Now enter "pico script_prog1" again. See how the file has been cleaned up? Good. Exit PICO again by doing a ^x command. In summary:

mmartin@soleil:(~/1500) cat script_prog1 | col -b > temp
mmartin@soleil:(~/1500) mv temp script_prog1
mmartin@soleil:(~/1500) pico script_prog1