diff options
author | Tim Henigan <tim.henigan@gmail.com> | 2012-02-24 18:12:58 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-02-27 15:10:23 -0800 |
commit | 860f70f9f4206379361fd5af84c8fde31984b418 (patch) | |
tree | 74806c7f14b85fa2e1075722b49e3c7e75377a1e /Documentation | |
parent | CodingGuidelines: Add a note about spaces after redirection (diff) | |
download | tgif-860f70f9f4206379361fd5af84c8fde31984b418.tar.xz |
CodingGuidelines: do not use 'which' in shell scripts
During the code review of a recent patch, it was noted that shell scripts
must not use 'which $cmd' to check the availability of the command $cmd.
The output of the command is not machine parseable and its exit code is
not reliable across platforms.
It is better to use 'type' to accomplish this task.
Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/CodingGuidelines | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index cfe3785909..45577117c2 100644 --- a/Documentation/CodingGuidelines +++ b/Documentation/CodingGuidelines @@ -46,6 +46,11 @@ For shell scripts specifically (not exhaustive): properly nests. It should have been the way Bourne spelled it from day one, but unfortunately isn't. + - If you want to find out if a command is available on the user's + $PATH, you should use 'type <command>', instead of 'which <command>'. + The output of 'which' is not machine parseable and its exit code + is not reliable across platforms. + - We use POSIX compliant parameter substitutions and avoid bashisms; namely: |