Unusual file: /bin/[
Polytropon
freebsd at edvax.de
Mon Jul 29 13:54:08 UTC 2013
On Mon, 29 Jul 2013 14:25:08 +0100, Paul Macdonald wrote:
>
> Hi, I spotted what i'd call an unusual file in the basejail on a jail
> install, and have since seen this on other non jailed boxes.
>
> -r-xr-xr-x 2 root wheel 11488 Jun 10 12:19 [
>
> man [ reveals
>
> test, [ -- condition evaluation utility
>
> just checking thats all ok, and i've not been rooted!
The "[" program is the same as the "test" program. It's
a valid file name and it's often used in shell scripts
instead of "test".
% ll /bin/test /bin/\[
-r-xr-xr-x 2 root wheel 8336 2011-08-21 20:23:20 /bin/[*
-r-xr-xr-x 2 root wheel 8336 2011-08-21 20:23:20 /bin/test*
Consider shell scripts. When you have a script with something like
if [ -f bla.txt ]; then
... some stuff ...
fi
it is the same as
if test -f bla.txt; then
... some stuff ...
fi
It's also often being used like
[ -x blah.sh ] && do_something
which is identical to calling "test" and acting upon the value
of the return code.
Nothing to worry here.
YOu can _always_ counter-check by building /usr/src/bin/test
from source and compare the resulting binary. Both /bin/[
and /bin/test are usually installed as hardlinks (two file
names for one / for _the same_ file), as seen in the
corresponding Makefile:
LINKS= ${BINDIR}/test ${BINDIR}/[
So it's not _that_ unusual. ;-)
--
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
More information about the freebsd-questions
mailing list