From: Tim Henigan Date: Fri, 24 Feb 2012 23:12:58 +0000 (-0500) Subject: CodingGuidelines: do not use 'which' in shell scripts X-Git-Tag: v1.7.9.3~23 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=860f70f9f4206379361fd5af84c8fde31984b418;p=git.git 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 Signed-off-by: Junio C Hamano --- diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index cfe378590..45577117c 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 ', instead of 'which '. + 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: