Exercises
-
Explain the following unexpected result:
$ whereis date /bin/date $ echo $PATH .:/usr/local/bin:/usr/bin:/bin $ cat > date echo "This is my own version of date." $ date Tue May 24 11:45:49 PDT 2005
-
What are two ways you can execute a shell script when you do not have execute access permission for the file containing the script? Can you execute a shell script if you do not have read access permission for the file containing the script?
-
What is the purpose of the PATH variable?
- Set the PATH variable so that it causes the shell to search the following directories in order:
- /usr/local/bin
- /usr/bin/X11
- /usr/bin
- /bin
- /Developer/Tools
- The bin directory in your home directory
- The working directory
- If there is a file named doit in /usr/bin and another file with the same name in your ~/bin, which one will be executed? (Assume that you have execute permission for both files.)
- If your PATH variable is not set to search the working directory, how can you execute a program located there?
- Which command can you use to add the directory /usr/sbin to the end of the list of directories in PATH?
- Set the PATH variable so that it causes the shell to search the following directories in order:
-
Assume that you have made the following assignment:
$ person=jenny
Give the output of each of the following commands:
- echo $person
- echo '$person'
- echo "$person"
-
The following shell script adds entries to a file named journal-file in your home directory. This script helps you keep track of phone conversations and meetings.
$ cat journal # journal: add journal entries to the file # $HOME/journal-file file=$HOME/journal-file date >> $file echo -n "Enter name of person or group:" read name echo "$name" >> $file echo >> $file cat >> $file echo "----------------------------------------------------" >> $file echo >> $file
- What do you have to do to the script to be able to execute it?
- Why does the script use the read builtin (page 571) the first time it accepts input from the terminal and the cat utility the second time?
-
Assume that the /Users/jenny/grants/biblios and /Users/jenny/biblios directories exist. Give Jenny's working directory after she executes each sequence of commands given. Explain what happens in each case.
-
$ pwd /Users/jenny/grants $ CDPATH=$(pwd) $ cd $ cd biblios
-
$ pwd /Users/jenny/grants $ CDPATH=$(pwd) $ cd $HOME/biblios
-
-
Name two ways you can identify the PID number of your login shell.
-
Give the following command:
$ sleep 30 | cat /etc/weekly
Is there any output from sleep? Where does cat get its input from? What has to happen before the shell displays another prompt?