Force exit status if file not found
Sergio Belkin
sebelk at gmail.com
Tue Mar 8 01:48:37 UTC 2011
2011/3/7 Kevin Martin <kevintm at ameritech.net>:
>
>
> On 03/07/2011 04:08 PM, Sergio Belkin wrote:
>> Hi,
>> I am writing a script that it searchs for a file. I'd want to exit
>> with status non-zero if the file is not found. But find cannot do
>> that.
>> find command only exit with status non-zero one file is not processed
>> successfully.
>>
>> locate command con do that, but it cannot find a file from a given directory.
>>
>> How can I do it?
>>
>> Thanks in advance!
>
> I find that if I'm in a directory and do a "find <filename>" and it fails the exit code is 1 (re: $? = 1). So if I'm in a directory
> that has files a b c and d and do "find a" I get an exit code of 0 (success) but if I do a "find e" I get exit code of 1 (failure)
> along with a failure message. So in your script you could do:
>
> #!/bin/bash
>
> cd <somedir>
> find <filename> 2> /dev/null
> if [ "$?" != "0" ]
> then
> exit 1
> fi
Good suggestion
>
> Strangely enough, if I'm in a directory and do a "find . -name e" (where e doesn't exist) I get *no* failed message and an exit code
> of 0. I find that a bit odd as I would think that "find e" and "find . -name e" would be the same thing. Perhaps that's something
> to do with the bash shell?
Perhaps find e try to make some kind of pathname expansion and failing
to do, so it exits with status non-zero.
In manpage find says:
"EXIT STATUS
find exits with status 0 if all files are processed
successfully, greater than 0 if errors occur. This is delib‐
erately a very broad description, but if the return value is
non-zero, you should not rely on the correctness of
the results of find."
So, I guess that exit non-zero for non-existing files it's a bash
thing. It could be nice if find exit with status non-zero whenever
don't find a file into search path.
>
>
> kevin
> --
> users mailing list
> users at lists.fedoraproject.org
> To unsubscribe or change subscription options:
> https://admin.fedoraproject.org/mailman/listinfo/users
> Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
>
--
--
Sergio Belkin http://www.sergiobelkin.com
Watch More TV http://sebelk.blogspot.com
LPIC-2 Certified - http://www.lpi.org
More information about the users
mailing list