O program.run que estou tentando executar:
- Faz 2 perguntas que precisam da resposta "y"
- Faz uma terceira pergunta no final que é "pressione qualquer tecla para sair"
Além disso, não possui a opção "-y". Somente esta opções:
FreeFileSync installation parameters:
-h, --help Show help
--directory Change installation directory e.g. --directory /opt/FFS
--noshortcuts Don't create desktop shortcuts
E nenhum desses comandos funciona:
yes | sudo ./program.run
yes y | sudo ./program.run
sudo sh -c 'yes y | ./program.run'
echo y | sudo ./program.run
# etc, etc
Como o comando "yes" parece não funcionar, gostaria de tentar outra coisa
Nesta resposta , diga: "um comando .run é simplesmente um conjunto de comandos que serão executados por sh. Um arquivo .run específico pode ter uma opção -y, mas em geral você não pode contar com ela. Se você precisar automatizar algumas coisas, considere usar Expect " .
Mas eu não sei como usar o Expect . Alguma ajuda?
Distribuição: Ubuntu Mate 20.04 LTS
Bash 5.0.17(1)-versão (x86_64-pc-linux-gnu)
Atualizar:
Publiquei esse problema no site oficial e os desenvolvedores anunciaram que na próxima versão eles adicionarão o parâmetro:
./program.run --accept-license
Nele
expect
seria:Corre:
Se eu quiser fornecer respostas automáticas para 3 perguntas da seguinte forma:
y< entre >
y< entre >
<entrar>
Eu usaria algo como: