В настоящий момент /usr/bin/[ - это симлинк на /usr/bin/test. Однако фактически test из coreutils не меняет своё поведение в зависимости от argv[0], в результате '[' не работает так, как нужно: $ command [ -n xxx ] [: xxx: ожидается бинарный оператор $ command [ a = a ] [: излишний аргумент `]'% (тут к тому же в конце сообщения отсутствует \n). Проблема наблюдается как в свежем coreutils-5.97-alt1, так и в старых версиях (в частности, в coreutils-5.2.1-alt5 из M2.4). Правда, чаще всего она не проявляется, поскольку большая часть версий shell используют встроенный '['.
$ bash $ command [ -n xxx ] $ command [ a = a ] $ /usr/bin/[ a = a ] /usr/bin/[: extra argument `]' $ rpm -q coreutils coreutils-6.11-alt1
> bash $ command [ a = a ] $ command [ -n xxx ] $ rpm -q coreutils coreutils-6.12-alt2