You may wish to specify settings of several important environment variables that affect Cygwin's operation. Some of these settings need to be in effect prior to launching the initial Cygwin session (before starting your bash shell, for instance). They should therefore be set in the Windows environment; all Windows environment variables are imported when Cygwin starts. Such settings can be placed in a .bat file. An initial file is named Cygwin.bat and is created in the Cygwin root directory that you specified during setup. Note that the "Cygwin" option of the Start Menu points to Cygwin.bat. Edit Cygwin.bat to your liking or create your own .bat files to start Cygwin processes.
The CYGWIN variable is used to configure many global
settings for the Cygwin runtime system. Initially you can leave
CYGWIN unset or set it to tty (e.g.
to support job control with ^Z etc...) using a syntax like this in the
DOS shell, before launching bash.
C:\>set CYGWIN=tty notitle glob
For all possible settings of the CYGWIN environment variable,
see the section called “The CYGWIN environment
variable”.
Locale support is controlled by the LANG and
LC_xxx environment variables. Since Cygwin 1.7.2, all of
them are honored and have a meaning. For a more detailed description see
the section called “Internationalization”.
The PATH environment variable is used by Cygwin
applications as a list of directories to search for executable files
to run. This environment variable is converted from Windows format
(e.g. C:\Windows\system32;C:\Windows) to UNIX format
(e.g., /cygdrive/c/Windows/system32:/cygdrive/c/Windows)
when a Cygwin process first starts.
Set it so that it contains at least the x:\cygwin\bin
directory where "x:\cygwin is the "root" of your
cygwin installation if you wish to use cygwin tools outside of bash.
This is usually done by the batch file you're starting your shell with.
The HOME environment variable is used by many programs to
determine the location of your home directory and we recommend that it be
defined. This environment variable is also converted from Windows format
when a Cygwin process first starts. It's usually set in the shell
profile scripts in the /etc directory.
The TERM environment variable specifies your terminal
type. It is automatically set to cygwin if you have
not set it to something else.
The LD_LIBRARY_PATH environment variable is used by
the Cygwin function dlopen () as a list of
directories to search for .dll files to load. This environment variable
is converted from Windows format to UNIX format when a Cygwin process
first starts. Most Cygwin applications do not make use of the
dlopen () call and do not need this variable.
In addition to PATH, HOME,
and LD_LIBRARY_PATH, there are three other environment
variables which, if they exist in the Windows environment, are
converted to UNIX format: TMPDIR, TMP,
and TEMP. The first is not set by default in the
Windows environment but the other two are, and they point to the
default Windows temporary directory. If set, these variables will be
used by some Cygwin applications, possibly with unexpected results.
You may therefore want to unset them by adding the following two lines
to your ~/.bashrc file:
unset TMP unset TEMP
This is done in the default ~/.bashrc file.
Alternatively, you could set TMP
and TEMP to point to /tmp or to
any other temporary directory of your choice. For example:
export TMP=/tmp export TEMP=/tmp