I was just poking around in /usr/bin and I found an ELF binary file called [. /usr/bin/[. I have never heard of this file and my first thought was that it was a clever way of hiding a program, possibly a trojan. However it's present on all my CentOS servers and seems to have no manual entry. I can hazard a guess as to what it is but I was looking for a more authoritative answer...


It's an alternative form of the 'test' command. Mostly used in scripts.


if [ $VAR ]
    echo $VAR exists!
  • 3
    But unlike test it requires the last arg to be a ] – Florian Diesch May 5 '10 at 19:09
  • 4
    [ is a bash builtin, but so is test. not all shells are created equal — in plenty of them, test (and [) aren’t builtins. – Mo. May 5 '10 at 19:27
  • 3
    There is a bash built-in, or at least, my system is acting as though there is. [ --help gives different input than /usr/bin/[ --help – Matt Simmons May 5 '10 at 19:27
  • 3
    test and [ are builtin to bash, but not necessarily all other shells. You could temporarily move out of the path and run a bash script that uses either and you will see that the script still works. – Zoredache May 5 '10 at 19:28
  • 3
    @Josh: once upon another millennium, the Bourne shell did not have the test operator built in. It was a regular command like any other; and /bin/test was linked to /bin/[ to give notational convenience. – Jonathan Leffler May 6 '10 at 15:05

It's what you call when you are using something like

if [ -e foo ]; then ...

in a shell script (but most shells have it as a buildin this days). man test should give you the docs.

  • I would accept your answer but Zypher beat you to it by a few seconds... sorry :-) – Josh May 5 '10 at 19:15

As others pointed out, [ is the shell's condition evaluation utility - test.

In fact, there is a manual page for that!

$ man [

should give you more details about the opening square bracket.

Btw, in OS X, [ is located in /bin/[ :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.