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!!!!