bash if file exists
David Rosenstrauch
darose at darose.net
Thu Apr 3 14:23:43 EDT 2008
Dan Ritter wrote:
> On Thu, Apr 03, 2008 at 01:27:56PM -0400, Eric Chadbourne wrote:
>> Hi all. Help I'm having a brain freeze. How come this doesn't work?
>> Thanks. - Eric C.
>>
>> if [ -a *.zip ] ;
>> then
>> echo "there is a zip";
>> else
>> echo " no zip found";
>> fi
>
> Because your shell expands *.zip to all the matching files.
>
> The rewritten version is thus:
>
> if [ -a aber.zip wiggle.zip foo.zip zippetydodah.zip ]
>
> which obviously doesn't work, right?
>
> You need a for loop.
>
> -dsr-
The find command could work here too:
FOUNDZIP=0
FOUNDZIP=$(find . -maxdepth 1 -type f -name "*.zip" -exec echo 1 \; | uniq)
if [ "$FOUNDZIP" = 1 ] ; then echo "there is a zip"; else echo " no zip
found"; fi
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
More information about the Discuss
mailing list