Incrementação de script [RESOLVIDO]

1. Incrementação de script [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 27/11/2016 - 14:57h

Pessoas ... estou com uma idéia aqui q não sei se seria viável, preciso de orientações

Tenho um script q já está se tornando gigante, então eu pensei em desmembrar ele em "módulos" ... no caso eu pensei em fazer um script menu q de acordo com as opções marcadas ele executaria os outros.

Pois bem ... nisso eu pensei q talvez eu pudesse fazer esse script menu auto incremental ... tipo assim .. de acordo q vou criando os scripts "módulos" no diretório esse menu auto incrementasse .

teria como eu fazer isso ????


  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 28/11/2016 - 00:37h

Mauriciodez escreveu:

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°̣chama o primeiro ... enfim ... boiei na sua estrutura !!!
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

Pois é!!!!

Nada de estranho na estrutura de diretórios . . .
No 1º SCRIPT:
Considerando que, para "chamar" as opções selecionadas usei o comando:
SCRIPTS/${OPCOES[$I]}
Entende-se que os "SCRIPTS_0[1-7]"
Estão na pasta SCRIPTS, e o MENU, fora dela . . .
___________________________________________________________________________________________
IDEM na geração do MENU . . . .
___________________________________________________________________________________________
o primeiro script q vc fez não sei nem pra onde vai e nem sei pra q serve ... kkkk
Serve para CHAMAR (EXECUTAR) as OPÇÕES SELECIONADAS . . . (Tbem quero fumar um desses . . . é bem forte . . . Rsrsrsrsr)

não sei se o 1° chama o 2° ... não sei se são idependentes ... não sei se o 2°̣chama o primeiro ... enfim ... boiei na sua estrutura !!!
São INDEPENDENTES . . .
"Joguei" as OPÇÕES selecionadas para o ARRAY OPCOES=($OPCOES), depois faço uma varredura em "ARRAY OPCOES", executando os "SCRIPTS SELECIONADOS"
for ((I=0;I<${#OPCOES[*]};I++));do "SCRIPTS/${OPCOES[$I]}";echo;done
___________________________________________________________________________________________
Na Criação do MENU, executo o script abaixo:
#!/bin/bash
echo "#\!/bin/bash
OPCOES=\$( dialog --stdout \\
--checklist 'SELECIONE:' 0 0 0 \\"|sed '/^#/s/\\//' > MENU # envia as 03 linhas para o MENU
for ARQ in $(ls -1 SCRIPTS/);do let N++;echo -e "\t $ARQ '' OFF \\" >> MENU;done #VARRE o arquivo que tem os SCRIPTS . . .
wait # Aguarda o COMANDO acima terminar p/ prosseguir
N=$((N+3)) # N é o ULTIMO SCRIPT da PASTA SCRIPTS, SOMA "3", que é a quantidade de linhas do "cabeçalho"
sed -i ''$N's/\\$/\)/' MENU #Troca \ por )
echo 'OPCOES=($OPCOES)' >> MENU
echo 'for ((I=0;I<${#OPCOES[*]};I++));do "SCRIPTS/${OPCOES[$I]}";echo;done' >> MENU
chmod +x MENU
# . . .

MSO



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

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 27/11/2016 - 15:13h

Mauriciodez escreveu:

Pessoas ... estou com uma idéia aqui q não sei se seria viável, preciso de orientações

Tenho um script q já está se tornando gigante, então eu pensei em desmembrar ele em "módulos" ... no caso eu pensei em fazer um script menu q de acordo com as opções marcadas ele executaria os outros.

Pois bem ... nisso eu pensei q talvez eu pudesse fazer esse script menu auto incremental ... tipo assim .. de acordo q vou criando os scripts "módulos" no diretório esse menu auto incrementasse .

teria como eu fazer isso ????


Boa tarde Mauricio.
Gigante, quanto . . . Qtas linhas?
Menu auto incremental ... Interessante . . . Vejo que é viável.

marcelo oliver



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

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 27/11/2016 - 15:32h

msoliver escreveu:
Gigante, quanto . . . Qtas linhas?
Menu auto incremental ... Interessante . . . Vejo que é viável.


Marcelo ... não q ele seja tão gigante assim sacou ... mas é q tem muitas instruções, eu fiz ele para servir de configuração automática do Debian pós instalação e como eu estou agora testando personalizar a distro básica, eu pensei em usar esse script nos testes e logicamente não vou precisar do código todo.

tipo assim ... no script eu tenho a instrução de instalar o dpkg-dev e no final eu tenho a instrução de escrever o sources.list normal.

no caso eu desmembraria eles em 2 .. então se eu selecionar "instalar o dpkg-dev" ele executaria o script dele .... se eu selecionar escrever o "sources.list" ele ele executaria o script dele ... se eu selecionar os dois a mesma ladainha, executaria os dois scripts ... então como tenho quase certeza q nesses testes eu vou fazer mais scripts ( e as vezes não vou querer executar alguma instrução ) a intenção seria q o script "menu" buscasse a quantidade de scripts q tivesse no diretório e retornasse talvez a primeira linha deles ( essa linhas eu já as faria pra ficar como item ) compondo assim todo o dialog.

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


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

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 27/11/2016 - 17:45h

Mauriciodez escreveu:

msoliver escreveu:
Gigante, quanto . . . Qtas linhas?
Menu auto incremental ... Interessante . . . Vejo que é viável.


Marcelo ... não q ele seja tão gigante assim sacou ... mas é q tem muitas instruções, eu fiz ele para servir de configuração automática do Debian pós instalação e como eu estou agora testando personalizar a distro básica, eu pensei em usar esse script nos testes e logicamente não vou precisar do código todo.

tipo assim ... no script eu tenho a instrução de instalar o dpkg-dev e no final eu tenho a instrução de escrever o sources.list normal.

no caso eu desmembraria eles em 2 .. então se eu selecionar "instalar o dpkg-dev" ele executaria o script dele .... se eu selecionar escrever o "sources.list" ele ele executaria o script dele ... se eu selecionar os dois a mesma ladainha, executaria os dois scripts ... então como tenho quase certeza q nesses testes eu vou fazer mais scripts ( e as vezes não vou querer executar alguma instrução ) a intenção seria q o script "menu" buscasse a quantidade de scripts q tivesse no diretório e retornasse talvez a primeira linha deles ( essa linhas eu já as faria pra ficar como item ) compondo assim todo o dialog.

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


Mauricio, pensei no seguinte . . .
No diretório "DIR_SCRIPTS", coloque os "scripts" que deseja incluir no "MENU"
Detalhe, o nome do script, deve ser o nome que aparecera no menu . . . Pode ter o ".sh", esse é facil tirar . . .
Com um "ls -1 DIR_SCRIPTS/", obtem a listagem e inclui no MENU . . .
Dessa forma, "descomplica", não tem que ler o arquivo e "pegar" a linha com o NOME para incluir no MENU.

Uma outra possibilidade para o script ficar "leve", é deixar o MENU com as todas Opções, apontando para o script na pasta "DIR_SCRIPTS".
Resumindo, o script "principal", tem somente o MENU . . .

mso






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

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 27/11/2016 - 19:08h

msoliver escreveu:
Mauricio, pensei no seguinte . . .
No diretório "DIR_SCRIPTS", coloque os "scripts" que deseja incluir no "MENU"
Detalhe, o nome do script, deve ser o nome que aparecera no menu . . . Pode ter o ".sh", esse é facil tirar . . .
Com um "ls -1 DIR_SCRIPTS/", obtem a listagem e inclui no MENU . . .
Dessa forma, "descomplica", não tem que ler o arquivo e "pegar" a linha com o NOME para incluir no MENU.

Uma outra possibilidade para o script ficar "leve", é deixar o MENU com as todas Opções, apontando para o script na pasta "DIR_SCRIPTS".
Resumindo, o script "principal", tem somente o MENU . . .


então .. eu preferiria fazer pegando uma linha .. mas esse problema é o de menos ... meu problema mesmo é fazer com q o script incremente o script no menu e associar a opção com o arquivo ...

Não entendi o q vc quis dizer com "deixar o MENU com as todas Opções"
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


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

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 27/11/2016 - 19:40h

Mauriciodez escreveu:
Não entendi o q vc quis dizer com "deixar o MENU com as todas Opções"
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


Seguinte Mauricio, ao inves de "varrer o diretório", verificar quais scripts existem, e incluir no menu....
O MENU, tem todas opções disponiveis, mas, os comandos para executa-las estão no DIR_SCRIPT, onde, para cada opção do MENU, existe um script ...






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

Mauriciodez
Mauriciodez

(usa Debian)

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

msoliver escreveu:
Seguinte Mauricio, ao inves de "varrer o diretório", verificar quais scripts existem, e incluir no menu....
O MENU, tem todas opções disponiveis, mas, os comandos para executa-las estão no DIR_SCRIPT, onde, para cada opção do MENU, existe um script ...


continuei sem entender sua teoria ... me explique na base de algoritimo ... talvez eu entenda o q vc queira dizer

olha só ... no caso eu teriam no DIR_SCRIPTS

menu.sh
script1.sh
script2.sh
script3.sh

ao executar o menu.sh este varreria o diretório. essa parte não quero mudar pois não quero ter q ficar editando script

é onde eu travei ... não sei fazer o menu.sh compor o checklist ... no caso seria assim

limpe a tela
liste os arquivos "sh"
crie uma checklist com o nome dos arquivos >>> aqui é onde o bicho pega pra mim
limpe a tela
execute os arquivos selecionados >> aqui tb não sei como faria pra ele indexar a opção ao arquivo

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


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

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 27/11/2016 - 20:40h

Mauriciodez escreveu:

msoliver escreveu:
Seguinte Mauricio, ao inves de "varrer o diretório", verificar quais scripts existem, e incluir no menu....
O MENU, tem todas opções disponiveis, mas, os comandos para executa-las estão no DIR_SCRIPT, onde, para cada opção do MENU, existe um script ...


continuei sem entender sua teoria ... me explique na base de algoritimo ... talvez eu entenda o q vc queira dizer

olha só ... no caso eu teriam no DIR_SCRIPTS

menu.sh
script1.sh
script2.sh
script3.sh

ao executar o menu.sh este varreria o diretório. essa parte não quero mudar pois não quero ter q ficar editando script

é onde eu travei ... não sei fazer o menu.sh compor o checklist ... no caso seria assim

limpe a tela
liste os arquivos "sh"
crie uma checklist com o nome dos arquivos >>> aqui é onde o bicho pega pra mim
limpe a tela
execute os arquivos selecionados >> aqui tb não sei como faria pra ele indexar a opção ao arquivo

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

Deixa a minha ideia pra lá .... rsrsrsr. Tô meio lesado hoje . . .

Vamos a sua ideia . . .
Melhor que o MENU.sh não fique no DIR_SCRIPTS, senão o mesmo será incluído na listagem "ls -1"
Estou fazendo "uns testes", para montar o MENU, assim que tiver algo "realizavel/executável", posto....

Estou neste ponto:
ls -1
live@darkstar:~/SCRIPTS$ ls -1 DIR_SCRIPTS
SCRIPT_01
SCRIPT_02
SCRIPT_03
SCRIPT_04
SCRIPT_05
SCRIPT_06
SCRIPT_07

MAGIC COMMAND (rsrsrsr)
SCRIPT_01 '' OFF \
SCRIPT_02 '' OFF \
SCRIPT_03 '' OFF \
SCRIPT_04 '' OFF \
SCRIPT_05 '' OFF \
SCRIPT_06 '' OFF \
SCRIPT_07 '' OFF )

A "parte inicial" do MENU, acho melhor deixar pronto . . . Concorda?

PARTE INICIAL:
OPCOES=$( dialog --stdout \
--checklist 'SELECIONE:' 0 0 0 \



Té +
Marcelo










10. Re: Incrementação de script

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 27/11/2016 - 21:20h

msoliver escreveu:
MAGIC COMMAND (rsrsrsr)
SCRIPT_01 '' OFF \
SCRIPT_02 '' OFF \
SCRIPT_03 '' OFF \
SCRIPT_04 '' OFF \
SCRIPT_05 '' OFF \
SCRIPT_06 '' OFF \
SCRIPT_07 '' OFF )


a única coisa q me veio a cabeça foi fazer um script para montar esse menu em outro arquivo

escrever no arquivo menu.sh o cabeçalho
#!/bin/bash
clear
lista=$( dialog --stdout \
--checklist 'escolha' 0 0 0 \


criar uma lista dos aquivos em outro arquivo lista.txt
a partir dessa lista eu monto o menu
tipo assim ...

para cada linha adiciono '' OFF \"
na última troco "\" por ")"

escrevo no menu.sh o resultado

aqui eu travei ... não sei fazer o resto ... eu não sei como o checklist é feito ... no caso a parte de a cada selecionado execute um arquivo

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


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

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 27/11/2016 - 21:55h

Mauriciodez escreveu:

msoliver escreveu:
MAGIC COMMAND (rsrsrsr)
SCRIPT_01 '' OFF \
SCRIPT_02 '' OFF \
SCRIPT_03 '' OFF \
SCRIPT_04 '' OFF \
SCRIPT_05 '' OFF \
SCRIPT_06 '' OFF \
SCRIPT_07 '' OFF )


a única coisa q me veio a cabeça foi fazer um script para montar esse menu em outro arquivo

escrever no arquivo menu.sh o cabeçalho
#!/bin/bash
clear
lista=$( dialog --stdout \
--checklist 'escolha' 0 0 0 \


criar uma lista dos aquivos em outro arquivo lista.txt
a partir dessa lista eu monto o menu
tipo assim ...

para cada linha adiciono '' OFF \"
na última troco "\" por ")"

escrevo no menu.sh o resultado

aqui eu travei ... não sei fazer o resto ... eu não sei como o checklist é feito ... no caso a parte de a cada selecionado execute um arquivo

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


a única coisa q me veio a cabeça foi fazer um script para montar esse menu em outro arquivo

É justamente isso que estou fazendo . . .

Quase pronto . . .

mso



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

Mauriciodez
Mauriciodez

(usa Debian)

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

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 )"



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts