penv - the persistent environment utility

$Ringlet: c/misc/penv/doc/en_US.ISO8859-1/articles/penv/penv.sgml,v 1.4 2002/03/22 07:50:36 roam Exp $

This article describes the goals, usage and development history of penv, a utility to manage persistent per-directory environment settings.

Table of Contents
1. What is penv?
2. penv development history
3. Building and installing penv
4. Using penv
5. Compatibility and interoperability
6. A brief look at the penv source tree

1. What is penv?

penv is a utility which helps manage persistent per-directory environment settings. In other words, it saves you the trouble of setting or specifying the same environment variables over and over again when executing programs in a specific directory. The main reason for the initial development of penv was its use with the FreeBSD Ports Collection , but it may be used for other day-to-day tasks, too.

For its operation, penv needs to run an ``environment processor'' - a program that sets up the environment according to the contents of files in a given directory. By default, penv uses for its environment processor the envdir command from Dr. Dan J. Bernstein's daemontools package, available at

This, and other documents, can be downloaded from

For questions about this documentation, e-mail <>.