Function std.process.pipeShell
Starts a new process, creating pipes to redirect its standard input, output and/or error streams.
						
				ProcessPipes pipeShell
				(
				
				  scope const(char)[] command,
				
				  Redirect redirect = cast(Redirect)7,
				
				  const(string[string]) env = cast(const(string[string]))null,
				
				  Config config = cast(Config)0,
				
				  scope const(char)[] workDir = null,
				
				  string shellPath = nativeShell()
				
				) @safe;
						
					
				pipeProcess and pipeShell are convenient wrappers around
spawnProcess and spawnShell, respectively, and
automate the task of redirecting one or more of the child process'
standard streams through pipes.  Like the functions they wrap,
these functions return immediately, leaving the child process to
execute in parallel with the invoking process.  It is recommended
to always call wait on the returned ProcessPipes,
as detailed in the documentation for wait.
The args/program/command, env and config
parameters are forwarded straight to the underlying spawn functions,
and we refer to their documentation for details.
Parameters
| Name | Description | 
|---|---|
| args | An array which contains the program name as the zeroth element
            and any command-line arguments in the following elements.
            (See spawnProcessfor details.) | 
| program | The program name, without command-line arguments.
            (See spawnProcessfor details.) | 
| command | A shell command which is passed verbatim to the command
            interpreter.  (See spawnShellfor details.) | 
| redirect | Flags that determine which streams are redirected, and
            how.  See Redirectfor an overview of available
            flags. | 
| env | Additional environment variables for the child process.
            (See spawnProcessfor details.) | 
| config | Flags that control process creation. See Configfor an overview of available flags, and note that theretainStd...flags have no effect in this function. | 
| workDir | The working directory for the new process. By default the child process inherits the parent's working directory. | 
| shellPath | The path to the shell to use to run the specified program.
            By default this is nativeShell. | 
Returns
A ProcessPipes object which contains File
handles that communicate with the redirected streams of the child
process, along with a Pid object that corresponds to the
spawned process.
Throws
ProcessException on failure to start the process.
StdioException on failure to redirect any of the streams.
Example
// my_application writes to stdout and might write to stderr
auto pipes = pipeProcess("my_application", RedirectAuthors
Lars Tandle Kyllingstad, Steven Schveighoffer, Vladimir Panteleev