Two &s because a single & is bitwise and.

Perl borrowed this from /bin/sh, and with it, the option to and statements:

if test -n "$1"
then
  echo $0: missing argument 1>&2
  exit 1
fi
can also be written as
test -z "$1" &&
  { echo $0: missing argument 1>&2; exit 1; }