// value in the slice for each duplicate key is used.
// As a special case on Windows, SYSTEMROOT is always added if
// missing and not explicitly set to the empty string.
+ //
+ // See also the Dir field, which may set PWD in the environment.
Env []string
// Dir specifies the working directory of the command.
// If Dir is the empty string, Run runs the command in the
// calling process's current directory.
+ //
+ // On Unix systems, the value of Dir also determines the
+ // child process's PWD environment variable if not otherwise
+ // specified. A Unix process represents its working directory
+ // not by name but as an implicit reference to a node in the
+ // file tree. So, if the child process obtains its working
+ // directory by calling a function such as C's getcwd, which
+ // computes the canonical name by walking up the file tree, it
+ // will not recover the original value of Dir if that value
+ // was an alias involving symbolic links. However, if the
+ // child process calls Go's [os.Getwd] or GNU C's
+ // get_current_dir_name, and the value of PWD is an alias for
+ // the current directory, those functions will return the
+ // value of PWD, which matches the value of Dir.
Dir string
// Stdin specifies the process's standard input.