Exportar variáveis de uma declaração de caso

0

Eu assumi um script que é muito mais longo do que o que está abaixo. Atualmente você tem que inserir manualmente os ambientes no export , em seguida, empurrá-lo para um repositório git e, em seguida, puxar o mestre. Eu prefiro usar variáveis através de perguntas numeradas para exportar as opções depois de confirmar que é o que você quer. por exemplo, ecoar as escolhas que você fez e ter um "você tem certeza Sim / Não / Cancelar (y / n / c)" (essa parte eu posso fazer).

O que não consigo descobrir é como capturar as escolhas feitas e exportá-las.

#!/bin/bash

clear
PS3='Please enter your choice(s): '
options=("Test" "UAT" "PreProd" "Prod" "Quit")
select opt in "${options[@]}"
do
    case $opt in
        "Test")
            echo "You chose Test"
            ;;
        "UAT")
            echo "You chose UAT"
            ;;
        "PreProd")
            echo "You chose PreProd"
            ;;
        "Prod")
            echo "You chose Prod"
            ;;
        "Quit")
            break
            ;;
        *) echo invalid option;;
    esac
done



export ENVIRONMENTS=(test uat preprod)
    
por eekfonky 24.08.2017 / 10:40

1 resposta

1

Basta atribuir a variável dentro da instrução case:

declare -a ENVIRONMENTS
case $opt in
    "Test")
        echo "You chose Test"
        ENVIRONMENTS+=("test")
        ;;
    "UAT")
        echo "You chose UAT"
        ENVIRONMENTS+=("uat")
        ;;
    "PreProd")
        echo "You chose PreProd"
        ENVIRONMENTS+=("preprod")
        ;;
    "Prod")
        echo "You chose Prod"
        ENVIRONMENTS+=("prod")
        ;;
    "Quit")
        break
        ;;
    *) echo invalid option;;
esac
#...
export ENVIRONMENTS
    
por 24.08.2017 / 11:29