On Thu, 10 Dec 2009, Marc Herbert wrote:

> Does anyone know a more elegant way to check for file existence?
> Something that does not fork a subshell. And is also more readable
> maybe. And is obviously not much longer.
> 
> empty_dir() 
> { 
>     test "x$(echo $1/*$2)" = "x$1"'/*'"$2"
> }
> 
> 
> Warning: I find neither "noglob" nor "ls" elegant, sorry!

is_file()
{ 
    for f
    do
        [ -f "$f" ] && return
    done
    return 1
}

is_file /path/to/dir/* || echo empty

-- 
   Chris F.A. Johnson, webmaster         <http://woodbine-gerrard.com>
   ===================================================================
   Author:
   Shell Scripting Recipes: A Problem-Solution Approach (2005, Apress)
   Pro Bash Programming: Scripting the GNU/Linux Shell (2009, Apress)


Reply via email to