Explain Usage Of The Linux Left Bracket /usr/bin/[ Command

Posted on in Categories , , , last updated May 5, 2008

Q. I see [ command in /usr/bin directory. What is the /usr/bin/[ command used for?

A.This is test command and it is used to check file types and compare values.

General syntax is as follows:
[ EXPRESSION ]

For example, find out if /etc/passwd exists or not:
[ -f /etc/passwd ] && echo "Yes" || echo "No"
Regularly you write it as follows:

if [ -f /etc/passwd ] 
then
   echo "Yes"
else
  echo "No"
fi

OR

if test -f /etc/passwd 
then
   echo "Yes"
else
  echo "No"
fi

Read test or [ command man page for all other expressions.
man [
man test

1 comment

  1. Doesn’t work as written in all shells (e.g. BASH – not tested in others)

    [email protected]:~/root# ls -l
    total 0
    -rw——-. 1 root root 0 Oct 25 14:19 test

    [email protected]:~/root# [ -a test] echo “Y” || echo “N” // <– Fails
    bash: [: missing `]'
    N

    [email protected]:~/root# [ -a test ]; echo "Y" || echo "N" // <– Requires ';' after ']'
    Y

    In Bash, the semi-colon ';' separates commands on the same line allowing multiple commands on a single line

    –PB–

Leave a Comment