[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: best way to test for empty dir?
From: |
Stephane CHAZELAS |
Subject: |
Re: best way to test for empty dir? |
Date: |
Sat, 12 Dec 2009 10:21:52 +0000 (UTC) |
User-agent: |
slrn/pre1.0.0-16 (Linux) |
2009-12-11, 16:16(+00), Marc Herbert:
> Sven Mascheck a écrit :
>> Chris F.A. Johnson wrote:
>>
>>> This has been discussed more than once in c.u.s; check the
>>> archives.
>>
>> and that's why we better discuss it here now?
>
> I think Chris' message was more like: "let's not discuss it at all and
> just read the archives" :-]
>
>
> In case anyone is interested my winner (so far) is:
>
> exists()
> {
> [ -e "$1" -o -L "$1" ]
> }
$ exists =
bash: [: too many arguments
[ -e "$1" ] -o [ -L "$1" ]
(that one would still choke on '=' with the Bourne shell, note).
> if exists foo/*; then
> for f in foo/*; do
> ...
> done
> fi
[...]
Also, if you have the 'r' but not 'x' permission on 'foo', the
wildcard will expand, but the tests will fail. You don't need
the tests, you can do:
(
set -- foo/[*] foo/*
case $1$2 in
("foo/[*]foo/*") echo no non-hidden files or directory not readable;;
(*) echo some non-hidden files in here
esac
)
Or bash specific:
shopt -s nullglob dotglob
files=(foo/*)
(( ${#files[@]} ))
zsh:
files=(foo/*(ND[1]))
(( $#files ))
--
Stéphane
- Re: best way to test for empty dir?, (continued)
- Re: best way to test for empty dir?, Marc Herbert, 2009/12/14
- Re: best way to test for empty dir?, Matias A. Fonzo, 2009/12/14
- Re: best way to test for empty dir?, Andreas Schwab, 2009/12/15
- Re: best way to test for empty dir?, Matias A. Fonzo, 2009/12/15
- Re: best way to test for empty dir?, Andreas Schwab, 2009/12/15
- Re: best way to test for empty dir?, Matias A. Fonzo, 2009/12/15
- Message not available
- Re: best way to test for empty dir?, Antonio Macchi, 2009/12/15
- Message not available
- Re: best way to test for empty dir?,
Stephane CHAZELAS <=
- Re: best way to test for empty dir?, Stephane CHAZELAS, 2009/12/12
Message not available
Message not available