Skip to content

Commit 860f70f

Browse files
thenigangitster
authored andcommitted
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 <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 48f359b commit 860f70f

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

Documentation/CodingGuidelines

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,11 @@ For shell scripts specifically (not exhaustive):
4646
properly nests. It should have been the way Bourne spelled
4747
it from day one, but unfortunately isn't.
4848

49+
- If you want to find out if a command is available on the user's
50+
$PATH, you should use 'type <command>', instead of 'which <command>'.
51+
The output of 'which' is not machine parseable and its exit code
52+
is not reliable across platforms.
53+
4954
- We use POSIX compliant parameter substitutions and avoid bashisms;
5055
namely:
5156

0 commit comments

Comments
 (0)