| Line 116... |
Line 116... |
| 116 |
\emph{environment files} which contain lists of environment variables
|
116 |
\emph{environment files} which contain lists of environment variables
|
| 117 |
to be set, and \emph{profile files} which contain \R code.
|
117 |
to be set, and \emph{profile files} which contain \R code.
|
| 118 |
|
118 |
|
| 119 |
Lines in a site or user environment file should be either comment
|
119 |
Lines in a site or user environment file should be either comment
|
| 120 |
lines starting with \samp{#}, or lines of the form
|
120 |
lines starting with \samp{#}, or lines of the form
|
| 121 |
\samp{\var{name}=\var{value}}. The latter sets the environmental
|
121 |
\code{\var{name}=\var{value}}. The latter sets the environmental
|
| 122 |
variable \samp{\var{name}} to \samp{\var{value}}, overriding an
|
122 |
variable \code{\var{name}} to \code{\var{value}}, overriding an
|
| 123 |
existing value. If \samp{\var{value}} contains an expression of the
|
123 |
existing value. If \code{\var{value}} contains an expression of the
|
| 124 |
form \samp{${foo-bar}}, the value is that of the environmental
|
124 |
form \samp{${foo-bar}}, the value is that of the environmental
|
| 125 |
variable \samp{foo} if that is set, otherwise \samp{bar}. For
|
125 |
variable \samp{foo} if that is set, otherwise \samp{bar}. For
|
| 126 |
\samp{${foo:-bar}}, the value is that of \samp{foo} if that is set to
|
126 |
\samp{${foo:-bar}}, the value is that of \samp{foo} if that is set to
|
| 127 |
a non-empty value, otherwise \samp{bar}. (If it is of the form
|
127 |
a non-empty value, otherwise \samp{bar}. (If it is of the form
|
| 128 |
\samp{${foo}}, the default is \code{""}.) This construction can be
|
128 |
\samp{${foo}}, the default is \code{""}.) This construction can be
|
| 129 |
nested, so \code{bar} can be of the same form (as in
|
129 |
nested, so \code{bar} can be of the same form (as in
|
| 130 |
\samp{${foo-${bar-blah}}}). Note that the braces are essential: for
|
130 |
\samp{${foo-${bar-blah}}}). Note that the braces are essential: for
|
| 131 |
example \samp{$HOME} will not be interpreted.
|
131 |
example \samp{$HOME} will not be interpreted.
|
| 132 |
|
132 |
|
| 133 |
Leading and trailing white space in \samp{\var{value}} are stripped.
|
133 |
Leading and trailing white space in \code{\var{value}} are stripped.
|
| 134 |
\samp{\var{value}} is then processed in a similar way to a Unix shell:
|
134 |
\code{\var{value}} is then processed in a similar way to a Unix shell:
|
| 135 |
in particular (single or double) quotes not preceded by backslash
|
135 |
in particular (single or double) quotes not preceded by backslash
|
| 136 |
are removed and backslashes are removed except inside such quotes.
|
136 |
are removed and backslashes are removed except inside such quotes.
|
| 137 |
|
137 |
|
| 138 |
For readability and future compatibility it is recommended to only use
|
138 |
For readability and future compatibility it is recommended to only use
|
| 139 |
constructs that have the same behavior as in a Unix shell. Hence,
|
139 |
constructs that have the same behavior as in a Unix shell. Hence,
|