Let us watch well our beginnings, and results will manage themselves.
Under Unix, programs can communicate with their environment in a rich variety of ways. It’s convenient to divide these into (a) startup-environment queries and (b) interactive channels. In this chapter, we’ll focus primarily on startup-environment queries. The next chapter will discuss interactive channels.
Before plunging into the details of different kinds of program configuration, we should ask a high-level question: What things should be configurable?
The gut-level Unix answer is “everything”. The Rule of Separation that we discussed in Chapter 1 encourages Unix programmers ...