shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Dúvida com opcoes como argumentos


From: Alfredo Casanova
Subject: Re: [shell-script] Dúvida com opcoes como argumentos
Date: Mon, 27 May 2013 17:44:41 -0300

Leslie, consigo separá-los facilmente:

$ cat geto
while getopts "G:U:" option
do
 case "$option" in
G) GRPS="$OPTARG";;
 U) USRS="$OPTARG";;
 esac
done

for i in $GRPS
do
for j in $USRS
 do
echo GRPS $i e USRS $j
 done
done

$ ./geto -G "a b c" -U "d e f"
GRPS a e USRS d
GRPS a e USRS e
GRPS a e USRS f
GRPS b e USRS d
GRPS b e USRS e
GRPS b e USRS f
GRPS c e USRS d
GRPS c e USRS e
GRPS c e USRS f




2013/5/27 Leslie Watter <address@hidden>

> **
>
>
> 2013/5/27 Alfredo Casanova <address@hidden>
>
> > **
> >
> >
> > Na verdade o shift eu ja conheço, mas nao resolve pq eu nao tenho como
> > controlar quantos usuários e grupos serão passados
> >
> > estou usando o comando GETOPTS
> >
> > até agora está assim:
> >
> > $ cat geto
> > while getopts "G:U:" option
> > do
> > case "$option" in
> > G) GRPS="$OPTARG";;
> > U) USRS="$OPTARG";;
> > esac
> > done
> >
> > echo "$GRPS"
> > echo "$USRS"
> >
> > $ ./geto -G "d e f" -U "a b c"
> >
>
> Só uma pergunta, porque vc está passando todos eles entre aspas ?
> Desse jeito vc não terá como separá-los.
>
> Agora, caso vc passe eles sem as aspas vc vai conseguir separá-los ;-)
>
> Veja um exemplo que come direto o 1o argumento ...
>
> -------------------------------------------
> $ cat > /tmp/shif.sh
> #!/bin/bash
> while shift ; do
> echo $1;
> done
> -------------------------------------------
>
> -------------------------------------------
> $ /tmp/shif.sh 0 1 2 34 56 7
> 1
> 2
> 34
> 56
> 7
> -------------------------------------------
>
> -------------------------------------------
> $ /tmp/shif.sh 0 -u 1 2 34 -g 56 7 9
> -u
> 1
> 2
> 34
> -g
> 56
> 7
> 9
> -------------------------------------------
>
> aí é só testar o $1 com -u ou -g e pimba :D
>
> []s
>
> LEslie
>
> >
> --
> Leslie H. Watter
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
[]'s
Alfredo Casanova
Linux User #228230
msn: address@hidden
tel: +55 61 9655 9619


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]