[ale] Baffled on doing CASE statement with a Variable list of values
Neal Rhodes
neal at mnopltd.com
Mon Aug 3 13:53:52 EDT 2015
Perhaps I didn't make it clear enough. Yes, the first approach of hard
coding case values works.
All the other approaches of trying to put the values in a variable do
not work.
On Mon, 2015-08-03 at 12:33 -0400, Jim Kinney wrote:
> This works:
>
>
> #!/bin/bash
>
>
> FRED='one'
>
>
> case $FRED in
> one|two|pie) echo "got ${FRED}"; ;;
> *) echo "crud"; ;;
> esac
>
>
>
>
>
>
> On Mon, 2015-08-03 at 12:03 -0400, Neal Rhodes wrote:
> >
> > Exactly how does not assign a list of values separated by pipe to
> > use that variable later on in a script and make a CASE statement
> > happy?
> > The script below shows a variety of attempts.
> >
> > Ultimately, we're aiming to grab the list from a file, eg
> > "LIST="`cat allow.list`"
> >
> >
> >
> > REMOTE_ADDR=one
> >
> > case $REMOTE_ADDR in
> > one|two|three) echo "I like $REMOTE_ADDR" ;; #
> > Picks this one.
> > *) echo "I do NOT like $REMOTE_ADDR" ;;
> > esac
> >
> > LIST="one|two|three"
> > case $REMOTE_ADDR in
> > $LIST) echo "But now I like $REMOTE_ADDR" ;;
> > *) echo "But now I do NOT like $REMOTE_ADDR" ;; #
> > Picks this one.
> > esac
> >
> > case $REMOTE_ADDR in
> > "$LIST") echo "And I like $REMOTE_ADDR" ;;
> > *) echo "And I do NOT like $REMOTE_ADDR" ;; #
> > Picks this one.
> > esac
> >
> > LIST="one"
> > case $REMOTE_ADDR in
> > "$LIST") echo "Yet I like $REMOTE_ADDR" ;; #
> > Picks this one.
> > *) echo "Yet I do NOT like $REMOTE_ADDR" ;;
> > esac
> >
> > LIST="one\|two\|three"
> > case $REMOTE_ADDR in
> > $LIST) echo "However now I like $REMOTE_ADDR" ;;
> > *) echo "However now I do NOT like $REMOTE_ADDR" ;;
> > # Picks this one.
> > esac
> >
> >
> >
> > _______________________________________________
> > Ale mailing list
> > Ale at ale.org
> > http://mail.ale.org/mailman/listinfo/ale
> > See JOBS, ANNOUNCE and SCHOOLS lists at
> > http://mail.ale.org/mailman/listinfo
> >
> --
> James P. Kinney III
>
> Every time you stop a school, you will have to build a jail. What you
> gain at one end you lose at the other. It's like feeding a dog on his
> own tail. It won't fatten the dog.
> - Speech 11/23/1900 Mark Twain
>
> http://heretothereideas.blogspot.com/
>
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> http://mail.ale.org/mailman/listinfo/ale
> See JOBS, ANNOUNCE and SCHOOLS lists at
> http://mail.ale.org/mailman/listinfo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ale.org/pipermail/ale/attachments/20150803/4ec997c0/attachment.html>
More information about the Ale
mailing list