more safety checks in noshellinject; bugfix (perl string-comparision) in notashell...
[hband-tools.git] / compiled-tools / loadenv.pod
blobedbee161af038af172ca0e93dd322a99807b5d53
1 =pod
3 =head1 NAME
5 loadenv - Load environment variables from file and run a program in that environment
7 =head1 SYNOPSIS
9 loadenv [OPTIONS] <FILE> <COMMAND> [<ARG> [...]]
11 =head1 OPTIONS
13 =over 4
15 =item -0
17 Read NUL-terminated strings from B<FILE>.
18 Default is to read newline-terminated strings.
20 =item -c
22 Copy current environment, then process B<FILE>.
24 =back
26 =head1 FILE FORMAT
28 There is a series of NUL- or LF-delimited environment variable
29 declarations in B<FILE> in a format like:
30 B<NAME>[=B<VALUE>]
32 If only B<NAME> is given (ie. no '=' part), then variable B<NAME> will
33 be removed from the environment.
34 B<NAME> can not have C<=> equal sign in it.
36 Everything after the C<=> equal sign up to the delimiter char, is part
37 of B<VALUE>, including an other C<=> equal sign.
38 B<VALUE> may be empty, and quoting is not needed, not for empty
39 B<VALUE>, not for spaces.
40 It's a raw string; no shell-interpolation.
42 If the delimiter is LF (newline, C<\n>) which is the default, then lines
43 starting with C<#> hash mark are ignored.
44 Empty B<NAME> is also ignored.
46 Later instances of the same B<NAME> overwrite previous ones and also the
47 inherited ones.
49 =cut