Exercises
See Appendix A, Exercise Answers for answers.
- Write a program to parse the output of the date command to get the current day of the week. If the day of the week is a weekday, print
gettowork, otherwise printgoplay. - Write a program that gets all of the real names of the users from the /etc/passwd file, then transforms the output of the who command, replacing the login name (the first column) with the real name. (Hint: create a hash where the key is the login name and the value is the real name.) Try this both with the who command in backquotes and opened as a pipe. Which was easier?
- Modify the previous program so that the output automatically goes to the printer. (If you can't access a printer, perhaps you can send yourself mail.)
- Suppose the
mkdirfunction were broken. Write a subroutine that doesn't usemkdir, but invokes/bin/mkdirwithsysteminstead. (Be sure that it works with directories that have a space in the name.) - Extend the routine from the previous exercise to employ
chmodto set the permissions.