Date: Mon, 28 May 2001 12:21:31 -0400 From: Jim Conner <jconner@enterit.com> To: Mike Meyer <mwm@mired.org> Cc: Duke Normandin <01031149@3web.net>, questions@freebsd.org Subject: Re: Need help with Bash function Message-ID: <5.1.0.14.0.20010528112740.0239cd68@mail.enterit.com> In-Reply-To: <15122.25713.306089.220192@guru.mired.org> References: <93022994@toto.iv>
next in thread | previous in thread | raw e-mail | index | archive | help
The only thing you are lacking is quotes in your condition...
function ezq() {
if [ -a "~/tmp/*" ]
then
echo -e "there's something here....\n"
else
echo -e "empty....\n"
fi
}
Now, I ususally use ksh but bash should be able to do the same thing.
At 09:45 AM 5/28/2001 -0500, Mike Meyer wrote:
>Duke Normandin <01031149@3web.net> types:
> > I'm trying to debug the following function w/o much success.
> >
> > function ezq() {
> > if [ -a ~/tmp/* ]; then
> > echo -e "there's something here....\n"
> > else
> > echo -e "empty....\n"
> > fi
> > }
> > I keep on getting:
> >
> > '[: binary operator expected'
> >
> > Is it whinning about the '-a' above? Why?
>
>Because -a is a binary operator. It's format is "expresion1 -a expression2",
>though the message you're getting is strange. I get a different one.
>
> > All I want to do is to check to see if a directory is empty or not.
> > TIA...
>
>That's a bit trickier; test - aka '[' - doesn't have any primitives
>for looking at directories, or arrays of any kind. So you need to
>generate a list of files in a string - which test can look at - and
>then check to see if the string is empty or not. The following works
>for me:
>
>function ezq() {
> if [ -n "`ls ~/tmp`" ]; then
> echo "there's something here...."
> else
> echo empty...
> fi
>}
>
> <mike
>--
>Mike Meyer <mwm@mired.org> http://www.mired.org/home/mwm/
>Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
>
>To Unsubscribe: send mail to majordomo@FreeBSD.org
>with "unsubscribe freebsd-questions" in the body of the message
- Jim
- NOTJames
- jconner@enterit.com
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- | Today's errors, in contrast: |
- | Windows - "Invalid page fault in module kernel32.dll at 0032:A16F2935" |
- | UNIX - "segmentation fault - core dumped" |
- | Humans - "OOPS, I've fallen and I can't get up" |
- --------------------------------------------------------------------------
- (To view this properly use a non-proportional font in your MUA)
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5.1.0.14.0.20010528112740.0239cd68>
