Manipulando prompts de um instalador na linha de comando do Linux

4

Estou escrevendo um script que, entre outras coisas, instala algum software. Um dos instaladores que eu executo requer responder algumas perguntas. Por exemplo:

Is the default install folder ok (yes/no)?
What is the email address you would like to use?

O instalador não fornece uma opção para respostas de script. Existe uma maneira de identificar esses prompts ao executar o instalador a partir de um script bash e fornecer automaticamente uma resposta? Por exemplo:

Is the default install folder ok (yes/no)? yes
What is the email address you would like to use? [email protected]
    
por TERACytE 22.05.2012 / 22:01

3 respostas

3

Você deseja que a ferramenta seja chamada expect .

    
por 22.05.2012 / 22:20
1

Em alguns casos, você pode usar yes .

    
por 22.05.2012 / 23:29
0

Você tentou usar uma declaração de elenco como essa?

#!/bin/bash

echo -n "Do you agree with this? [yes or no]: "
read yno
case $yno in

        [yY] | [yY][Ee][Ss] )
                echo "Agreed"
                ;;

        [nN] | [n|N][O|o] )
                echo "Not agreed, you can't proceed the installation";
                exit 1
                ;;
        *) echo "Invalid input"
            ;;
esac

$ ./yorno.sh
Do you agree with this? [yes or no]: YES
Agreed
    
por 23.05.2012 / 16:41