Incrementação de script [RESOLVIDO]

13. Re: Incrementação de script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 27/11/2016 - 22:41h

Mauriciodez escreveu:

msoliver escreveu:
É justamente isso que estou fazendo . . .


a princípio o menu esta pronto

#!/bin/bash
ls -1 | grep .sh | cut -d'.' -f 1 > lista.txt
echo -e "#/bin/bash
lista=\$( dialog --stdout \\
--checklist 'escolha' 0 0 0 \\" > menu
sed 's/$/ "''" OFF \\/' lista.txt >> menu
sed -i ':a;$!{N;ba;};s/\(.*\)\\/\1\)/' menu
chmod +x menu
clear
./menu


não precisei colocar o script em outro diretório .. só criei o arquivo sem o 'sh'

só falta agora executar as opções ..

___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

----------------------------------------------------------------------------------------------------------
Consegui executar as "OPCOES"
Segue:
#!/bin/bash
OPCOES=$( dialog --stdout \
--checklist 'SELECIONE:' 0 0 0 \
SCRIPT_01 '' OFF \
SCRIPT_02 '' OFF \
SCRIPT_03 '' OFF \
SCRIPT_04 '' OFF \
SCRIPT_05 '' OFF \
SCRIPT_06 '' OFF \
SCRIPT_07 '' OFF )

OPCOES=($OPCOES)
for ((I=0;I<${#OPCOES[*]};I++));do "SCRIPTS/${OPCOES[$I]}";echo;done

Testei aqui e funcionou . . .

CRIAÇÃO do "MENU"

!/bin/bash
>MENU
echo "#\!/bin/bash
OPCOES=\$( dialog --stdout \\
--checklist 'SELECIONE:' 0 0 0 \\"|sed '/^#/s/\\//' >> MENU
for ARQ in $(ls -1 SCRIPTS/);do let N++;echo -e "\t $ARQ '' OFF \\" >> MENU;done
wait
N=$((N+3))
sed -i ''$N's/\\$/\)/' MENU
echo 'OPCOES=($OPCOES)' >> MENU
echo 'for ((I=0;I<${#OPCOES[*]};I++));do "SCRIPTS/${OPCOES[$I]}";echo;done' >> MENU
chmod +x MENU


Marcelo Oliver


  


14. Re: Incrementação de script [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 27/11/2016 - 23:53h

msoliver escreveu:
Consegui executar as "OPCOES"


vc só esqueceu de um porém entretanto ... sua estrutura de diretórios e seus scrpts vc conhece .. eu não ... kkkkkkkkkkk
no caso eu usei esse script da Criação do menu no mesmo diretório da pasta Script ... não deu nada

o primeiro script q vc fez não sei nem pra onde vai e nem sei pra q serve ... kkkk

não sei se o 1° chama o 2° ... não sei se são idependentes ... não sei se o 2°&#803;chama o primeiro ... enfim ... boiei na sua estrutura !!!
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


15. Re: Incrementação de script [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 28/11/2016 - 02:53h

msoliver escreveu:
...
MSO



marcelo ... teu código funcionou aqui 100% ... mas tenho um grande problema com ele ... eu não consigo entender a sintaxe de um loop nem com a p***a .. então como antes de vc postar eu já tinha conseguido fazer a execução da parada .. vou me virar aqui pra montar esse menu todo sem loop.

valeu aí camarada pelas idéias !!!

abaixo deixo a sintaxe do menu sem loop caso alguém queira

lista=$( dialog --stdout \
--checklist 'Escolha os scripts' 0 0 0 \
script1 "" OFF \
script2 "" OFF \
script3 "" OFF )
function executar {
if echo "$lista" | grep $"script1"; then
./script1.sh
fi
if echo "$lista" | grep $"script2"; then
./script2.sh
fi
if echo "$lista" | grep $"script3"; then
./script3.sh
fi
}

___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


16. Re: Incrementação de script [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 28/11/2016 - 13:52h

Mauriciodez escreveu:

msoliver escreveu:
...
MSO



marcelo ... teu código funcionou aqui 100% ... mas tenho um grande problema com ele ... eu não consigo entender a sintaxe de um loop nem com a p***a .. então como antes de vc postar eu já tinha conseguido fazer a execução da parada .. vou me virar aqui pra montar esse menu todo sem loop.

valeu aí camarada pelas idéias !!!

abaixo deixo a sintaxe do menu sem loop caso alguém queira

lista=$( dialog --stdout \
--checklist 'Escolha os scripts' 0 0 0 \
script1 "" OFF \
script2 "" OFF \
script3 "" OFF )
function executar {
if echo "$lista" | grep $"script1"; then
./script1.sh
fi
if echo "$lista" | grep $"script2"; then
./script2.sh
fi
if echo "$lista" | grep $"script3"; then
./script3.sh
fi
}

___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

-----------------------------------------------------------------------------------------------------------------
"não consigo entender a sintaxe de um loop nem com a p***a .. "

Mauricio, vou tentar explicar . . .

O Looping do MENU, que executa os SCRIPTS, funciona assim:
Suponha que foram escolhidas as OPCOES:
SCRIPT_01 SCRIPT_02 SCRIPT_03
OPCOES="SCRIPT_01 SCRIPT_02 SCRIPT_03"
Gero a Array OPCOES:
OPCOES=($OPCOES)
Onde tenho :
${OPCOES[0]}="SCRIPT_01"
${OPCOES[1]}="SCRIPT_02"
${OPCOES[2]}="SCRIPT_03"


O Looping:
for ((I=0;I<${#OPCOES[*]};I++));do #Para "I"=0, "I" MENOR que a quantidade de ARRAYS "3", Some 1 no "I"
"ARQS_SCRIPTS/${OPCOES[$I]}.sh" #CHAMA Cada SCRIPT, SCRIPT_01.sh, SCRIPT_02.sh e SCRIPT_03.sh
---------------------------------------------------------------------------------------------
PARA "I" = 0
"PEGA" a ARRAY ${OPCOES[0]} que é IGUAL a "SCRIPT_01", colocando "ARQS_SCRIPTS/" ANTES e o ".sh" DEPOIS,
chama o script:
ARQS_SCRIPTS/SCRIPT_01.sh

PARA "I" = 1
chama o script:
ARQS_SCRIPTS/SCRIPT_02.sh

PARA "I" = 2
chama o script:
ARQS_SCRIPTS/SCRIPT_03.sh
---------------------------------------------------------------------------------------------
done # FIM . . .
. . . Chamo "Uma a Uma" e é executado o SCRIPT CORRESPONDENTE . . .
---------------------------------------------------------------------------------------------
Sobre ARRAY's
Gerando a ARRAY FRUTAS:
FRUTAS=(Banana Laranja Pessego Abacaxi Manga)
Chamando Todas ARRAY's Contidas na ARRAY FRUTAS:
for ((X=0;X<${#FRUTAS[*]};X++));do
echo "${FRUTAS[$X]}"
done
Banana
Laranja
Pessego
Abacaxi
Manga

ONDE:
${#FRUTAS[*]} ou ${#FRUTAS[@]}: => É a quantidade de ARRAY's.
echo ${#FRUTAS[*]}
5

Note que, na atribuição:
FRUTAS=(Banana Laranja Pessego Abacaxi Manga)
A PRIMEIRA é a "0"
for ((X=0;X<${#FRUTAS[*]};X++));do echo '${FRUTAS['$X']}: '${FRUTAS[$X]}'';done
${FRUTAS[0]}: Banana
${FRUTAS[1]}: Laranja
${FRUTAS[2]}: Pessego
${FRUTAS[3]}: Abacaxi
${FRUTAS[4]}: Manga


Chamando INDIVIDUALMENTE:
echo ${FRUTAS[1]}
Laranja

echo ${FRUTAS[3]}
Abacaxi


Incluindo:
FRUTAS[5]="Abacate" 


É Isso . . .

Att.:
Marcelo Oliver





17. Re: Incrementação de script [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 28/11/2016 - 19:14h

msoliver escreveu:
Mauricio, vou tentar explicar . . .
É Isso . . .
Att.:
Marcelo Oliver


Marcelo .. o q eu já li sobre loop na net não é brincadeira .. na hora q me explicam eu entendo .. mas passa um pouquinho eu não sei reproduzir ou fazer um sacou ... sei lá velho ... parece algum tipo de bloqueio q tenho ... vira e mexe eu tento procurar um método de ensino sobre loop q entre e fixe na minha mente ... comandos de repetição pra mim ainda é um tabu .. eu mexo com computação há uns 20 anos e linux há 6 meses só ... já sei brincar bem d+ com o Debian e talz ... mas loop é um tabu pra mim ... acho q vou procurar alguns exercício massivos sobre loop ... talvez na base da força bruta eu aprenda !!!
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


18. Re: Incrementação de script [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 28/11/2016 - 20:06h

Mauriciodez escreveu:

msoliver escreveu:
Mauricio, vou tentar explicar . . .
É Isso . . .
Att.:
Marcelo Oliver


Marcelo .. o q eu já li sobre loop na net não é brincadeira .. na hora q me explicam eu entendo .. mas passa um pouquinho eu não sei reproduzir ou fazer um sacou ... sei lá velho ... parece algum tipo de bloqueio q tenho ... vira e mexe eu tento procurar um método de ensino sobre loop q entre e fixe na minha mente ... comandos de repetição pra mim ainda é um tabu .. eu mexo com computação há uns 20 anos e linux há 6 meses só ... já sei brincar bem d+ com o Debian e talz ... mas loop é um tabu pra mim ... acho q vou procurar alguns exercício massivos sobre loop ... talvez na base da força bruta eu aprenda !!!
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


Relaxa Mauricio . . .
No começo É PHODA . . .
Apanhei pra caramba, e o pior é que não pergunto e não desisto . . .
Endenda a "sintaxe" do looping/laço,
depois é só adequar a sua necessidade . . . .
Pratique com o "for" , "while" e "until"...
Cara, não é tão dificil assim . . . Até eu entendi!!!! Rsrsrsrs
O "negocio" "praticar", até entender.
Decoreba aqui, não resolve . . .

Boa sorte!
É, precisando, grita ai . . .

Marcelo Oliver









19. Re: Incrementação de script [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 28/11/2016 - 20:10h

msoliver escreveu:
Relaxa Mauricio . . .
No começo É PHODA . . .
Boa sorte!
É, precisando, grita ai . . .


valeu velho ... obrigado aí pela atenção .... mas só para constar ... não é o inicio q é [*****] ... eu sou usuário muito avançado de excel e faço uma pancada de planilha na base do VBA ... até hoje todas as vezes q precisei jogar um loop tive q pedir auxilio de alguem .... kkkkkkkkkkkkkkkkkkkkkkkkk

___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts