Re: lug-bg: yes/no Скрипт
- Subject: Re: lug-bg: yes/no Скрипт
- From: Georgi Genov <ggenov@xxxxxxxxxxx>
- Date: Thu, 07 Oct 2004 16:04:55 +0300
Aleksander Valchev wrote:
Искам да ви питам дали този скрипт е горе-долу добре написан.
Макар, че се вижда yesno е функция която задава въпрос на който може да се
отговори само с y,Y,n,N. При въвеждане на друг символ въпросът се повтаря.
Ако може да ми кажете дали е правилно и извикването на функцията, получаването
на резултата от изпълнението й и обработката на резултата т.е. последните
редове.
Извинявам се за въпроса но script-ове не обичам да пиша (предпочитам C/C++ и
т.н.), но сега ми се налага, а нещо което не ти е толкова приятно по-трудно
се справящ с него.
Благодаря предварително за отговорите.
А ето и част от скрипта.
# Ask question (passed as parameter $1) and
# returns 1 if user enter "y" or "Y" and 0 if user enter "n" or "N"
# Do not allow to enter other characters (repeats question until y,Y,n,N)
yesno()
{
Message=$1 # Question to ask
while [ true ]; do
echo -n "$Message "
read answer
if [ "$answer" ]; then
case "$answer" in
"y"|"Y") # User enter YES, return 1
return 1
;;
"n"|"N") # User enter NO, return 0
return 0
;;
*) # User do not know what he/she is enter, continue repeating
echo "Please enter [y,Y] or [n,N] "
;;
esac
fi # user enter y, n ot something else
done # while true
}
yesno "Are you ok? [y/n]"
result="$?"
if [ $result -eq 1 ]; then
echo "OK"
fi
#!/bin/sh
result() {
echo $1
if [ ! $1 = "Other" ]; then
exit 0
fi
}
echo -n "Please enter [y,Y] or [n,N] "
read answer
while [ ! $answer = [yY] ] & [ ! $answer = [nN] ]; do
case "$answer" in
[Yy]*)
result Yes
break
;;
[Nn]*)
result No
break
;;
*)
result Other
echo -n "Please enter [y,Y] or [n,N] "
read answer
;;
esac
done
result Deafult
#резултата който ще се връща може да е всякакъв
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|