[PATCH 01/10] check_bindir: don't use the -a or -b option with the test command
flat view
STALE3765d
From: Elia Pinto <hidden>
Date: 2016-06-15 23:01:10
Subsystem:
the rest · Maintainer:
Linus Torvalds
Even though POSIX.1 lists -a/-o as options to "test", they are marked "Obsolescent XSI". Scripts using these expressions should be converted as follow: test "$1" -a "$2" should be written as: test "$1" && test "$2" Likewise test "$1" -o "$2" should be written as: test "$1" test "$2" But note that, in test, -a has higher precedence than -o while "&&" and "||" have equal precedence in the shell. The reason for this is that the precedence rules were never well specified, and this made many sane-looking uses of "test -a/-o" problematic. For example, if $x is "=", these work according to POSIX (it's not portable, but in practice it's okay): $ test -z "$x" $ test -z "$x" && test a = b but this doesn't $ test -z "$x" -a a = b bash: test: too many arguments because it groups "test -n = -a" and is left with "a = b". Similarly, if $x is "-f", these $ test "$x" $ test "$x" || test c = d correctly adds an implicit "-n", but this fails: $ test "$x" -o c = d bash: test: too many arguments Signed-off-by: Elia Pinto <redacted> --- Inspired from this discussion http://permalink.gmane.org/gmane.comp.version-control.git/137056 check_bindir | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/check_bindir b/check_bindir
index a1c4c3e..623eadc 100755
--- a/check_bindir
+++ b/check_bindir@@ -2,7 +2,7 @@ bindir="$1" gitexecdir="$2" gitcmd="$3" -if test "$bindir" != "$gitexecdir" -a -x "$gitcmd" +if test "$bindir" != "$gitexecdir" && test -x "$gitcmd" then echo echo "!! You have installed git-* commands to new gitexecdir."
--
1.7.10.4