Como responder automaticamente ao programa cli interativo (não ao script) com o script bash?

3

Eu pesquisei isso, e quase tudo que eu consegui encontrar é responder a um script e isso não funciona para mim. As respostas que encontrei disseram para fazer:

echo "yes" | ./script

ou

./script <<< yes

ou algo parecido. Não funcionou para mim. Meu palpite é que o que eu quero fazer é responder automaticamente um programa executável, não um script. Mais especificamente, desejo responder automaticamente a parted . Aqui

parted -a optimal /dev/sda mklabel msdos
Warning: The existing disk label on /dev/sda will be destroyed and
all data on this disk will be lost. Do you want to continue?
Yes/No? _

Eu tento fazer

echo "yes" | parted -a optimal /dev/sda mklabel msdos

e

parted -a optimal /dev/sda mklabel msdos <<< yes

Ambos os métodos não funcionaram. Aqueles não responderam yes a parted prompt.

Então, como posso responder automaticamente esse prompt parted sem usar um script bash?

    
por Mas Bagol 25.04.2015 / 12:30

1 resposta

9

Com parted , você pode adicionar a opção -s :

parted -a optimal -s /dev/sda mklabel msdos

Na página Trusty man para parted :

[...]
       -s, --script
              never prompts for user intervention
[...]
    
por kos 25.04.2015 / 12:36