Popular menu dinamicamente

1. Popular menu dinamicamente

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 28/11/2018 - 01:09h

pessoas ... como populo um menu multi-select dinamicamente ? digamos que os itens serão as linhas de um txt ... e como fazer para associar os itens às ações correspondentes mesmo se a ordem no txt for alterada ???

Vamos exemplificar que o conteúdo do txt seja nomes e a ação seja "adduser"




  


2. Re: Popular menu dinamicamente

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 01/12/2018 - 13:22h

.
.
.
.
Será que não tem jeito ???

------------------------------------------| Linux User #621728 |-----------------------------------------

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

------------------------------------------| Linux User #621728 |-----------------------------------------



3. Re: Popular menu dinamicamente

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 04/12/2018 - 20:53h

Mauriciodez escreveu:

.
.
.
.
Será que não tem jeito ???

------------------------------------------| Linux User #621728 |-----------------------------------------

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

------------------------------------------| Linux User #621728 |-----------------------------------------


Mauricio, não consegui entender . . . .
Dá um exemplo...


4. Re: Popular menu dinamicamente

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 04/12/2018 - 21:57h

Seria isso?
$ cat nomes.txt 
Paulo
Maria
Henrique
Joana

$ cat scripteste.sh
#!/bin/bash
select opt in $(cat ~/nomes.txt) ; do
echo "Opção escolhida: $opt"
break
done

$ ./scripteste.sh
1) Paulo
2) Maria
3) Henrique
4) Joana
#? 3
Opção escolhida: Henrique

Use o comando "select" para criar as opções a partir do conteúdo do arquivo.


5. Re: Popular menu dinamicamente

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 04/12/2018 - 22:11h

Ryuk escreveu:
Seria isso?
...
Use o comando "select" para criar as opções a partir do conteúdo do arquivo.


Não é isso campeão, eu precisaria de um menu multi seleção, e se possível, que fossem em duas ou mais colunas pois são muitos itens !!!!! ... mas a ideia é essa, popular o menu com os dados de um arquivos externo !!!

msoliver escreveu:
Mauricio, não consegui entender . . . .
Dá um exemplo...


------------------------------------------| Linux User #621728 |-----------------------------------------

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

------------------------------------------| Linux User #621728 |-----------------------------------------



6. Re: Popular menu dinamicamente

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 05/12/2018 - 11:35h

Achei isso...
https://jonlabelle.com/snippets/view/shell/multi-select-menu-in-bash
Veja se dá pra adaptar ao que vc precisa!


7. Re: Popular menu dinamicamente

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 04/02/2019 - 22:36h


Antes tarde do que mais tarde....
Veja se é isso Mauricio:
#!/bin/bash
tput clear

linha() {
printf '%*s' "30" ''|sed "s/ /—/g"
}

MENU=($(cat nomes.txt))
nomes=($(zenity --list --title="INSTALAÇÃO de APPS"\
--separator=" " --width=300 --height=550 \
--text="Selecione os nomes:" --checklist\
--multiple --column "X" --column "OPÇÕES"$(printf " false %s" "${MENU[@]}") 2>/dev/null))
printf "\n$(linha)\n ${#nomes[@]} Nomes selecionados:\n$(linha)\n"
printf " %s\n" ${nomes[@]}|nl
printf "$(linha)\n"
N=0;
for Y in ${nomes[@]};do let N++
#neste ponto vc faz o que pretende com os nomes "selecionados", os mesmos estão no "ARRAY nomes"
echo "Nº ${N}: adduser ${Y}";
done

cat nomes.txt
Paulo
Maria
Henrique
Joana
Mauricio
Marcia
Marcelo
Marcos
Catia
Solange
Suzana
Fulano
Ciclano
Beltrano



8. Re: Popular menu dinamicamente

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 04/02/2019 - 22:45h


msoliver escreveu:
Antes tarde do que mais tarde....
Veja se é isso Mauricio:


Vou ter que lembrar o que eu estava querendo fazer quando abri o tópico .... dou notícias ... kkkkkkkkkkkkk

------------------------------------------------------| Linux User #621728 |------------------------------------------------------

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

------------------------------------------------------| Linux User #621728 |------------------------------------------------------








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts