[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: more bash questions
charles@lunarmedia.net wrote:
>
> All-
>
> I am tring to get a statement where I request input from the user, and
> when a carriage return is entered with no data the script moves to the
> next step. So far I have:
>
> while read USER; do
> if [ -n $USER ]; then
> echo $USER >> /tmp/allow.users
> else
> echo "Thank you."
> fi
> done
>
> But its not ending when I enter a blank line. I think its because the
> minute the user enters the first bit a requested data, then $USER is not
> null, so the loop will never end.
> I am fairly certain what I want to do is pretty easy, but my first stab is
> not quite there. Can someone point out where to take this?
>
> cjm
Well, $USER contains the carriage return, so it's not exactly null.
Replacing the if with [ x"$USER" != "x" ] and adding a ;break to the
thank you line does what you want.
--
To unsubscribe, send email to majordomo@luci.org with
"unsubscribe luci-discuss" in the body.