-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Bob McGowan wrote: > bdeferme wrote: >> Tom Grove <[EMAIL PROTECTED]> wrote: >> >>> Hello all...I am new to this Debian thing :-) I used it in the Woody >>> days but moved over to the FreeBSD world for the last few years. I >>> recently installed Testing (Lenny) and see the left bracket in my >>> /usr/bin directory and do not know what it is. When I ls -al it I get: >>> >>> -rwxr-xr-x 1 root root 24752 2007-01-30 13:51 /usr/bin/[ >>> >>> This leads me to believe that it was installed with the base system or >>> some package because I just installed the system earlier this week. >>> Any help is much appreciated. Thanks. >>> >>> -Tom Grove >> >> Weird, >> Why don't you try to run it and see what it is? >> >> P.S. Don't run it as root, just to be sure :-)
Why would you run anything without knowing what it is? Just in case someone made it 'sudo rm -rf /' or whatever. > I'm not sure why 'test' and '[' exist as separate files, today. In the > 'old' days, '[' and 'test' were simply hard links to the same file. This > allowed the code to look at the name used to run it and set some > specific default behaviors. The most important of these was that the > name '[' required a final argument of ']'. This was done to make shell > scripting cleaner and easier to read. > > Today, most shells have these built in, so there's no exec overhead to > worry about, so performance is improved. But this now means you have to > worry about quoting and escape processing. Old Bourne shells didn't > have these built in, so it didn't try to interpret them and escaping was > not needed. > > Other responses to this question have included a number of command line > examples with various amounts of escaping applied. I have some comments > on those: > > 1. ls /usr/bin/[ and ls /usr/bin/\[ are identical (the escape is not > needed). This is because the shell only treats '[' specially when it is > stand alone. And ls itself doesn't process special characters. > > 2. When the command in question does do regex processing, it is much > easier to escape the string from the shell with single quotes than with > multiple backslashes. > > dpkg -S '/usr/bin\[' > > is much easier to read (and type correctly), than > > dpkg -S /usr/bin/\\\[ There was a bit of discussion about this some time ago on this list [1], when another guy asked a similar question to OP ;-) - From the man pages /------------- NOTE: your shell may have its own version of test and/or [, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. \------------- So there are two versions of test and [ and they are all not the same. Johannes [1] http://lists.debian.org/debian-user/2006/08/msg00886.html -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFGQf05C1NzPRl9qEURAuMMAJ9yvwKm3nwYBe05A5wnI1blQ5NcXwCfQdH4 9w2gl3pLSLazPklUDGbM/3k= =DT4z -----END PGP SIGNATURE----- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]