On Wed, 6 Apr 2016 15:36:29 -0400 Assaf Gordon <[email protected]> wrote:
> Hello, > > > On Apr 6, 2016, at 14:23, Mattias Andrée > > <[email protected]> wrote: [...] The rationale > > for this flag that it is better to implement it in test > > than as a separate command. > > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=385069 > >> On the other hand, I readily concur that "test -s > >> directory" does NOT accurately report whether the > >> directory has contents > > As a temporary work-around, the following seems portable > across some OSes (gnu/linux,*BSD) and can be used as a > shell function (but '-mindepth' is not in POSIX standard): > > dirempty() { > test -d "$1" \ > && test -z "$( { find "$1" -mindepth 1 2>/dev/null > || echo failed ; } | head -n1)" } > > usage is: > > dirempty DIRNAME && echo empty || echo not-empty-or-error It is too complicated and you need to use find "$1/", not find "$1". But you can use: test -d "$1" && python - "$1" <<EOF import os, sys sys.exit(1 if len(os.listdir(sys.argv[1])) else 0) EOF or test -d "$1" && test -z "$(ls -A -- "$1/")" > > > HTH, > - assaf >
pgpB81gSDF9JR.pgp
Description: OpenPGP digital signature
