Frequently Asked Questions for Assgn 3.
What does the .std_dbrc file contain?
Something like:
STD_DBROOT=${HOME}/class/2031/Assgn3/STD_DB
You do not submit this file, I will be using mine that will point to my std_db. But it should work with such a file, otherwise your program will not pass the tests.
Do we need the trailing slash (/) in the STD_DBROOT definition?
Your program should work even if there is no trailing slash. The idea is that two or more slashes are equivalent to one, so it is better if you have two slashes rather than none (disaster).
Can we invoke one of our scripts from within another script?
In principle yes, but it is far safer if you do not unless you know what you are doing. If I were you I would opt for cut and paste.
How do I use the .std_dbrc from within my own script?
You source it. Sourcing is normally just a dot (.).
. ${HOME}/.std_dbrc
If you create this file and it seems lost use
ls -a
Why can't I see my .std_dbrc with ls?
Because files that start with a dot are hidden in Unix/Linux. Use ls -a to see all your files in the current directory. I mostly use ls -ltr or ls -latr, to see the most recent (and thus most relevant files) last (the first one might have scrolled above the screen).
What does it mean to "source" a file?
The manual says:
. filename [arguments]
source filename [arguments]
Read and execute commands from filename in the current shell
environment and return the exit status of the last command exe-
cuted from filename. If filename does not contain a slash,
file names in PATH are used to find the directory containing
filename. The file searched for in PATH need not be exe-
cutable. When bash is not in
posix mode, the current directory
is searched if no file is found in PATH. If the sourcepath
option to the shopt builtin command is turned off, the PATH is
not searched. If any arguments are supplied, they become the
positional parameters when filename is executed. Otherwise the
positional parameters are unchanged. The return status is the
status of the last command exited within the script (0 if no
commands are executed), and false if filename is not found or
cannot be read.
most of the details there are irrelevant to you, but the thing to keep in mind is that it executes commands from filename in the current shell environment.
Do I need to change the PATH environment variable for this assignment?
NO! You should not change the PATH. In general we do not play with PATH unless we know what we are doing.