From: Brad Fitzpatrick Date: Wed, 5 Jul 2017 23:05:42 +0000 (+0000) Subject: os/exec: document lack of implicit shell usage or globbing X-Git-Tag: go1.9rc1~104 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=e335643864d6ba2cba00c9f667dee742c340f02f;p=gostls13.git os/exec: document lack of implicit shell usage or globbing Fixes #20894 Change-Id: I0c0e906964bbd789317d07f245e64e3d61ecfa8c Reviewed-on: https://go-review.googlesource.com/47550 Reviewed-by: Russ Cox --- diff --git a/src/os/exec/exec.go b/src/os/exec/exec.go index 7f0d68b071..c3599681c3 100644 --- a/src/os/exec/exec.go +++ b/src/os/exec/exec.go @@ -6,6 +6,15 @@ // easier to remap stdin and stdout, connect I/O with pipes, and do other // adjustments. // +// Unlike the "system" library call from C and other languages, the +// os/exec package intentionally does not invoke the system shell and +// does not expand any glob patterns or handle other expansions, +// pipelines, or redirections typically done by shells. The package +// behaves more like C's "exec" family of functions. To expand glob +// patterns, either call the shell directly, taking care to escape any +// dangerous input, or use the path/filepath package's Glob function. +// To expand environment variables, use package os's ExpandEnv. +// // Note that the examples in this package assume a Unix system. // They may not run on Windows, and they do not run in the Go Playground // used by golang.org and godoc.org.