É possivel usar um while ou um for dentro de um comando Whiptail ?

1. É possivel usar um while ou um for dentro de um comando Whiptail ?

TheMagicOfOz
TheMagicOz

(usa PCLinuxOS)

Enviado em 12/07/2018 - 14:56h

É possivel usar um while ou um for dentro de um comando Whiptail ?


  


2. Re: É possivel usar um while ou um for dentro de um comando Whiptail ?

Slackjeff
slackjeff

(usa Slackware)

Enviado em 12/07/2018 - 15:05h

Claro... tudo foi feito para ser em uma linha!


THE MAGIC SHELL PROGRAMMER.

Slackware user since ~2008
Meu canal no youtube:
https://www.youtube.com/SlackJeff

Meu Site:
http://www.slackjeff.com.br/

Meus Programas estão aqui:
https://notabug.org/jeffersonrocha

Meu PODCAST:
http://podcast.slackjeff.com.br/







3. Re: É possivel usar um while ou um for dentro de um comando Whiptail ?

TheMagicOfOz
TheMagicOz

(usa PCLinuxOS)

Enviado em 12/07/2018 - 15:07h

whiptail --title "Opção 01: Criador de DATABASES" --menu \
"Databases Disponiveis:" 40 60 $quant_datab \
"${database_array[1]}" "" \
"${database_array[2]}" "" \
"${database_array[3]}" "" \
"${database_array[4]}" "" \
"${database_array[5]}" "" \
"${database_array[6]}" "" \
"${database_array[7]}" "" \

tenho esse script, ai na teal grafica ele apresenta os databases disponiveis, queria fazer um laço , que ele apresentasse somente os databases disponiveis de acordo com a quantidade que tem , sem precisar colocar esse tanto de de ${database_array[*]}


4. Re: É possivel usar um while ou um for dentro de um comando Whiptail ?

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 12/07/2018 - 15:29h

Essa quantidade de "${database_array[1]}" "" \ está relacionada com a variável
$quant_datab?
Caso positivo faça:

whiptail --title "Opção 01: Criador de DATABASES" --menu \
"Databases Disponiveis:" 40 60 $quant_datab \
for ((x=1;x<${quant_datab};x++));do
echo "${database_array[x]}\" \"\"\\"
done

PS.: Não entendi direito as "aspas" do final . . . . De uma conferida.

Marcelo Oliver


5. Esse valor $quant_datab é o numero de databases existentes, ex: 5

TheMagicOfOz
TheMagicOz

(usa PCLinuxOS)

Enviado em 12/07/2018 - 15:55h

function datab_disponiveis(){
datab=`psql -U postgres -c "SELECT datname from pg_database where datname not in ('postgres','template0','blojsom','template1');"`
datab_1=`echo $datab | sed 's/datname ------------ //g'`
database_array=($datab_1)
quant_databases=`echo ${#database_array[*]}`
quant_datab=$(( $quant_databases - 3 ))
}


6. No exemplo que você deixou ai ta dando erro aqui no terminal :/

TheMagicOfOz
TheMagicOz

(usa PCLinuxOS)

Enviado em 12/07/2018 - 15:56h

line 22: ` for ((x=1;x<${quant_datab};x++));do'



7. Re: É possivel usar um while ou um for dentro de um comando Whiptail ?

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 12/07/2018 - 16:07h

TheMagicOz escreveu:

line 22: ` for ((x=1;x<${quant_datab};x++));do'

Altere a linha para:
for ((x=0;x<${#database_array[*]};x++));do






8. Continua dando erro nessa linha de comando

TheMagicOfOz
TheMagicOz

(usa PCLinuxOS)

Enviado em 12/07/2018 - 16:23h

Continua mostrando que ta dando erro nessa linha de comando


9. Re: É possivel usar um while ou um for dentro de um comando Whiptail ?

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 12/07/2018 - 19:12h

TheMagicOz escreveu:

Continua mostrando que ta dando erro nessa linha de comando


O laço está certo, veja:
echo ${#database_array[@]}
10
for ((x=0;x<${#database_array[*]};x++));do echo "ERRO! "; done
ERRO!
ERRO!
ERRO!
ERRO!
ERRO!
ERRO!
ERRO!
ERRO!
ERRO!
ERRO!







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts