Enviado em 09/02/2017 - 19:15h
Como crio um case dinamico? Já tentei de todas as formas que consegui imaginar, mas não consegui, só ficou a bugar meu codigo de tantos loops.while true do read resposta case $resposta in $numero[$i])$comando[$i] break ;; *)opção errada ;; esac done
Enviado em 10/02/2017 - 19:30h
#!/bin/bash CASE=$(n=0;echo 'case $resposta in' ;for op in $(ls -1);do let n++; printf "%02d) ls -l %s ;;\n" $n $op ;done;echo -e "*) AJUDA ;;\nesac\n") C="\x1B[0;38;5;156m" F="\x1B[m" INICIO() { read -p " ESCOLHA UMA OPÇãO: " resposta eval $(echo "$CASE") } AJUDA() { echo -e "\n$C OPÇãO INVáLIDA$F\n" } INICIO
CASE=$(n=0;echo 'case $resposta in' ;for op in $(ls -1);do let n++; echo "$n) ls -l $op ;;\n";done;echo -e "*) AJUDA ;;\nesac\n")
./case-dinamico.sh: eval: line 14: erro de sintaxe proximo do `token' não eperado `2'
CASE=$(n=0;echo 'case $resposta in' ;for op in $(ls -1);do let n++; echo "$n) echo -e \" A OPÇãO ESCOLHIDA, é: $n\n\" ;;";done;echo -e "*) AJUDA ;;\nesac\n")
echo "echo -e \" Se nao usar o eval, o 2º \"echo\" não é EXECUTADO\n MULTIPLICAÇãO:\n 5 x 5 = \$((5*5))\""
eval $(echo "echo -e \" Se nao usar o eval, o 2º \"echo\" não é EXECUTADO\n MULTIPLICAÇãO:\n 5 x 5 = \$((5*5))\"")
Enviado em 10/02/2017 - 11:20h
while true do read resposta case $resposta in $numero[$i])$comando[$i] break ;; *)opção errada ;; esac done
Enviado em 10/02/2017 - 12:20h
while true do read resposta case $resposta in $numero[$i])$comando[$i] break ;; *)opção errada ;; esac done
Enviado em 10/02/2017 - 12:51h
while true do read resposta case $resposta in ${numero[$i]}) echo "$comando[$i]" break ;; *) echo "opção errada" i=$((i+1)) ;; esac done
case $resposta in ${numero[$i]})
case $resposta in $(echo ${numero[$i]}))
Enviado em 10/02/2017 - 12:54h
while true do read resposta case $resposta in ${numero[$i]}) echo "$comando[$i]" break ;; *) echo "opção errada" i=$((i+1)) ;; esac done
case $resposta in ${numero[$i]})
case $resposta in $(echo ${numero[$i]}))
Enviado em 10/02/2017 - 13:11h
arquivos=($(pwd)/*.txt) IFS="|" for((i = 0; i < ${#arquivos[*]}; i++)) do lista_arquivos+="${arquivos[$i]}" num+="$i" done read resposta eval "case \"$resposta\" in $num)$lista_arquivos ;; *) echo "Opcao inexistente!" ;; esac"
Enviado em 10/02/2017 - 13:13h
while true do read resposta case $resposta in $numero[$i])$comando[$i] break ;; *)opção errada ;; esac done
#!/bin/bash OPCOES=$(echo 'case $1 in';for op in $(egrep -o '^script[0-9]{2}' $0);do echo "$op) $op ;;";done;echo -e '*) AJUDA ;;\nesac') C="\x1B[0;38;5;156m" F="\x1B[m" INICIO() { eval $(echo "$OPCOES") } AJUDA() { echo -e "\n$C OPÇÕES DISPONíVEIS:\n\n$(egrep '^script|^#[A-Z]' $0|sed '$!N;s/() {\n/ =>/;s/^\|#\|_/ /g')$F\n" } script01() { echo -e "\nCOMANDOS DO \"script01\"\n" } #DESCRIÇÃO_DO SCRIPT_01 script02() { echo -e "\nCOMANDOS DO \"script02\"\n" } #DESCRIÇÃO_DO SCRIPT_02 script03() { echo -e "\nCOMANDOS DO \"script03\"\n" } #DESCRIÇÃO_DO SCRIPT_03 script04() { echo -e "\nCOMANDOS DO \"script04\"\n" } #DESCRIÇÃO_DO SCRIPT_04 script05() { echo -e "\nCOMANDOS DO \"script05\"\n" } #DESCRIÇÃO_DO SCRIPT_05 INICIO $1
Enviado em 10/02/2017 - 13:48h
while true do read resposta case $resposta in $numero[$i])$comando[$i] break ;; *)opção errada ;; esac done
#!/bin/bash OPCOES=$(echo 'case $1 in';for op in $(egrep -o '^script[0-9]{2}' $0);do echo "$op) $op ;;";done;echo -e '*) AJUDA ;;\nesac') C="\x1B[0;38;5;156m" F="\x1B[m" INICIO() { eval $(echo "$OPCOES") } AJUDA() { echo -e "\n$C OPÇÕES DISPONíVEIS:\n\n$(egrep '^script|^#[A-Z]' $0|sed '$!N;s/() {\n/ =>/;s/^\|#\|_/ /g')$F\n" } script01() { echo -e "\nCOMANDOS DO \"script01\"\n" } #DESCRIÇÃO_DO SCRIPT_01 script02() { echo -e "\nCOMANDOS DO \"script02\"\n" } #DESCRIÇÃO_DO SCRIPT_02 script03() { echo -e "\nCOMANDOS DO \"script03\"\n" } #DESCRIÇÃO_DO SCRIPT_03 script04() { echo -e "\nCOMANDOS DO \"script04\"\n" } #DESCRIÇÃO_DO SCRIPT_04 script05() { echo -e "\nCOMANDOS DO \"script05\"\n" } #DESCRIÇÃO_DO SCRIPT_05 INICIO $1
opcoes=$(echo 'conta=0;case $resposta in';for op in ${array_arquivos[@]};do echo "$conta)$conta ;;" let conta=$conta+1;done;echo -e '*) inexistente ;;nesac') read resposta eval $(echo "$opcoes") #erro: ./casedinamico.sh: eval: line 18: erro de sintaxe próximo do `token' não esperado `)' ./casedinamico.sh: eval: line 18: `conta=0;case $resposta in ) ;; let conta=+1 ) ;; let conta=+1 ) ;; let conta=+1 ) ;; let conta=+1 *) inexistente ;; esac'
Pra quem contribui com artigos e dicas (1)
Arch Linux - Guia para Iniciantes (5)
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
O Que Fazer Após Instalar Ubuntu 25.04
O Que Fazer Após Instalar Fedora 42
Debian 12 -- Errata - Correções de segurança
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Monitor fora de escala ao bootar sistema (10)
Pra quem contribui com artigos e dicas (1)
Alguém poderia me ajudar a escolher peças pra montar um desktop? (19)