Como usar o comando Ler no script shell enquanto executa o script na máquina remota [duplicado]

0

Eu quero executar meu script de shell em uma máquina remota e preciso que o usuário queira dar valor a alguma variável para que usemos o comando Ler enquanto executa o script na máquina local, mas eu uso o mesmo comando enquanto executo o script na máquina remota mas não está funcionando para mim. Como usar o comando Ler para executar o script na máquina remota?

código de amostra:

restore (){
        echo "Restore"
}

deploy () {
        echo "Deploy"
}


echo "Select any option to proceed..."
read opt
case $opt in

        restore)
        restore;
        break;;

        deploy)
        deploy;
        break;;
esac

Esse código funciona bem quando os scripts são executados na máquina local.

Obrigado antecipadamente!

    
por Jeevanantham Mathavaraj 24.12.2015 / 10:54

1 resposta

1

Embora isso seja provavelmente possível, certamente não vale a pena o esforço. Em qualquer caso, pedir a um usuário que interaja com o script é (IMO) sempre uma má ideia. Isso significa que você nunca pode automatizar o uso do script e também cria problemas como o que você descreve. Geralmente, é melhor passar a escolha do usuário como argumento. Você também não quer ou precisa de break dentro de uma instrução case

restore (){
        echo "Restore"
}

deploy () {
        echo "Deploy"
}

## read the 1st argument
case $1 in

        restore)
        restore;
        ;;

        deploy)
        deploy;
        ;;
esac

Em seguida, execute o script assim:

foo.sh restore

ou

foo.sh deploy
    
por terdon 24.12.2015 / 11:26