On Thu, 13 Oct 2011 15:38:08 +0200
Jesús J. Guerrero Botella <jesus.guerrero.bote...@gmail.com> wrote:

> Yes, it's a different binary, and it's perfectly usual to find it in a
> Linux system.
> 
> But note that, at least in bash, you rarely will be using /usr/bin/[
> unless you reference it using the full path (either in a relative or
> absolute way). This is because bash has a builtin that takes over that
> binary file. You can check that (or any other command) by using the
> "type" instruction (again, this is for bash).
> 
> # LC_ALL=C type [
> [ is a shell builtin
> 
> The same goes for 'test'.
> 
> Those binaries are probably there just in case that some init or
> system script written for a standard bourne shell (like the busybox
> one) needs it. But don't take my word for it. I am not sure right now. 

You might not be sure, but that doesn't stop you still being correct :-)

The binaries are usually POSIX-compliant, whereas the builtins may
include extra bashisms (which tend to break apps expecting just
the basic POSIX behaviour)

-- 
Alan McKinnnon
alan.mckin...@gmail.com

Reply via email to