On Sun, 9 Sep 2001, Ulf Zimmermann wrote:
> These are some examples strings:
>
> "dhcp"
> "dhcp media 10baseTX"
> "media 10baseTX dhcp mediaopt half-duplex"
>
> The following code will get me inside a if condition:
>
> if [ `expr "${ifconfig_args}" : '.*[Dd][Hh][Cc][Pp].*'` -ne 0 ]; then
>
> ....
>
> fi
You do everything you need within sh. Someone else pointed out
that case/esac is your friend here. It was not quite complete. Here's
more complete example that will let you pair up the options and their
arguments if they take them.
ifconfig_args="media 10baseTX dhcp mediaopt half-duplex"
set -- ${ifconfig_args}
while [ $# -gt 0 ]; do
op=$1
case ${op} in
[Mm][Ee][Dd][Ii][Aa])
op_arg=$2
shift
echo "op=media op_arg=${op_arg}"
;;
[Mm][Ee][Dd][Ii][Aa][Oo][Pp][Tt])
op_arg=$2
shift
echo "op=mediaopt op_arg=${op_arg}"
;;
[Dd][Hh][Cc][Pp])
echo "do something dhcp specific..."
;;
*)
echo "unknown op: ${op}"
;;
esac
shift
done
cheers,
Adrian
--
[ [EMAIL PROTECTED] ]
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message