On Wed, May 23, 2007 at 10:01:37PM +0200, Rado S wrote: > =- Luciano Rocha wrote on Wed 23.May'07 at 20:22:32 +0100 -= > > > > It's easy enough to add a which-like command though. > > > > What about stopping to find where the binary is and check only if it can > > be run? > > if echo | md5sum &> /dev/null; then > > MD5=md5sum > > elif echo | md5 &> /dev/null; then > > MD5=md5 > > elif echo | openssl md5 -hex &> /dev/null; then > > MD5="openssl md5 -hex" > > else > > echo No md5 found 1>&2 > > exit 1 > > fi > > You still put redirects for each test. > With the {} capturing any future cases as well as localized > deviations where the noise is sent (err-out) will be taken care of. If you prefer { ... } 3>&2 &> /dev/null, then by all means. I, personally, prefer the format I presented. Anyway, the following is wrong: } >>/dev/null 2>&1 3>&2 As it sets stdout to /dev/null, stderr to stdout, and fd 3 to stderr, that by now is /dev/null. } 3>&2 > /dev/null 2>&1 (or 3>&2 &> /dev/null) should work instead. -- lfr 0/0
Attachment:
pgpJAohmx59YY.pgp
Description: PGP signature