sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #53536
Re: Boolean svar med find
Peter Makholm <peter@xxxxxxxxxxx> writes:
> if [ ! -z `find ... -print0` ] then
> # Fandt noget
> fi
Vil nok ikke virke af samme grund som at -print0 var nødvendig hvis du
har filnavne med mellemrumstegn i.
'! -z' og '-n' burde selvfølgelig være ækvivalente. Det fik mig lige
til at overveje hvorfor de ikke opførte sig ens. Følgende bør virke
for alle mulige filnavne:
if [ "`find ... -print0`" ] then
# Fandt noget
fi
Jeg har endda afprøvet det (i ash):
$ find -mindepth 2
$ if [ -n "`find -mindepth 2`" ] ; then echo fandt noget ; fi
$ find -mindepth 0
.
./foo
./bar
./baz
$ if [ -n "`find -mindepth 0`" ] ; then echo fandt noget ; fi
fandt noget
$
--
Peter Makholm | We constantly have to keep in mind why natural
peter@xxxxxxxxxxx | languages are good at what they're good at. And to
http://hacking.dk | never forget that Perl is a human language first,
| and a computer language second
Follow ups
References