-
Posts
1 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Gohan nascimento junior
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
Script - Dialog cria menu mas não executa código associado a item
em Programação - iniciantes
Postado
Bom dia a todos, sou programador junior e estou com um problema com a execução de itens com o dialog e não estou conseguindo resolver. Se alguém puder dar uma mão, agradeço.. O problema é o seguinte : O código abaixo que criei, gera um menu dinâmico a partir de um txt populado de outro script.. a geração do menu dinâmico funciona e esta ok, cada linha do menu tem 3 partes : um ID (deveria ser numérico), um texto (que deveria aparecer na linha do menu para ou usuário escolher) e um status (que não precisaria aparecer para o usuário, mas tudo bem).. O menu gera sem problemas, o problema é que eu gostaria de para cada seleção que o usuário escolhe-se, executasse o código correspondente do ID da linha e logo após, eliminasse a linha correspondente do menu. Caso eu reexecutasse de novo o código, o novo menu criado não deveria mais trazer a linha que foi executada exitosamente, mas não estou conseguindo fazer isso .. Código abaixo :
#!/bin/bash
# Define o nome do arquivo de relatório
report_file="scripts/hmenu/result.txt"
# Lê o arquivo result.txt no subdiretório scripts/ hmenu /
while read line; do
# Extrai o ID, o texto e o status da linha
id=$(echo $line | awk '{print $1}')
text=$(echo $line | awk '{print $2 " " $3 " " $4 " " $5 " " $6 " " $7 " " $8 " " $9}')
status=$(echo $line | awk '{print $10}')
# Adiciona o item de checkbox ao menu
options+=("$id" "$text" "$status")
done < $report_file
# Exibe o menu em forma de checkbox
selected=$(dialog --backtitle "Selecione os itens desejados:" \
--checklist " " 20 60 15 \
"${options[@]}" \
--output-fd 1 \
--separate-output \
--scrollbar \
3>&1 1>&2 2>&3)
# Executa cada item selecionado
for item in $selected; do
if [ "$item" == "1" ]; then
echo "Executando o código para o Item 1..."
sed -i "/ $item/d" $report_file
fi
if [ "$item" == "2" ]; then
echo "Executando o código para o Item 2..."
sed -i "/ $item/d" $report_file
fi
done
Agradeço antecipadamente a ajuda!!!!