testar variável 2 [RESOLVIDO]

1. testar variável 2 [RESOLVIDO]

diêgo
soldadolinux

(usa Linux Mint)

Enviado em 07/10/2011 - 22:46h

Oi povo do viva o linux encontrei uma solução para o meu script com o comando case só que se eu quiser usar mais opções e funções ele vai se tornar muito extenso como eu faço para encurtar ele vejam.
#/bin/bash
z=$( dialog --stdout --separate-output \
--checklist 'ESCOLHA O QUE VC QUER FAZER:' 0 60 8 \
01 'entrar na pasta /etc/ssh' off \
02 'entrar na pasta /etc/rc.d' off \
03 'entrar na pasta /etc/keyboard' off )
z=$(echo -n "$z" | tr '\n' ' ')

f01() {
cd /etc/ssh
ls
}
f02() {
cd /etc/rc.d
ls
}
f03() {
cd /etc/keyboard
ls
}

case "$z" in
'01') f01 ;;
'02') f02 ;;
'03') f03 ;;
'01 02') f01 ; f02 ;;
'01 03') f01 ; f03 ;;
'02 03') f02 ; f03 ;;
'01 02 03') f01 ; f02 ; f03 ;;
esac


viram se eu acrescentar por ex: 04 vou ter que inserir todas as opções desse 04 no case.


  


2. MELHOR RESPOSTA

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 07/10/2011 - 23:05h

Ops, companheiro ;-)

Pensei em outra solução, veja:


#/bin/bash
z=$( dialog --stdout --separate-output \
--checklist 'ESCOLHA O QUE VC QUER FAZER:' 0 60 8 \
'f01;' 'entrar na pasta /etc/ssh' off \
'f02;' 'entrar na pasta /etc/rc.d' off \
'f03;' 'entrar na pasta /etc/keyboard' off )
z=$(echo -n "$z" | tr '\n' ' ')

f01() {
cd /etc/ssh
ls
}
f02() {
cd /etc/rc.d
ls
}
f03() {
cd /etc/keyboard
ls
}

eval $(echo "$z")


assim, basta você colocar o nome da função para ser o retorno de cada item do check list.
Abraços

3. testar variável 2

diêgo
soldadolinux

(usa Linux Mint)

Enviado em 07/10/2011 - 23:17h

Testei aqui mais ele não funciona o checklist não deixa usar as aspas em 'f01;'


4. Re: testar variável 2 [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 07/10/2011 - 23:21h

Outra coisa, quando você for usar as tags que foram habilitadas no fórum, você deve abrir e fechá-las, veja:


[ code]

.....


[ /code]

Sem os espaços que coloquei para não ativar o efeito.



5. Re: testar variável 2 [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 07/10/2011 - 23:22h

soldadolinux escreveu:

Testei aqui mais ele não funciona o checklist não deixa usar as aspas em 'f01;'


Sério? aqui funcionou tranquilo, tem certeza que não digitou algo errado?

Aparece o que na tela para você?


6. testar variável 2

diêgo
soldadolinux

(usa Linux Mint)

Enviado em 07/10/2011 - 23:31h

Eu esqueci [ /code] mais vou criar o hábito apartir de agora mais funcionou valeu mesmo realmente eu estava digitando errado nessa parte aqui
eval $( echo "$z" )
obrigado :)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts