Criei um script bash realmente simples que executa alguns comandos. um desses comandos precisa da entrada do usuário durante o tempo de execução. ou seja, ele pergunta ao usuário "você quer blá, blá, blá?", eu quero simplesmente enviar um pressionamento de tecla Enter para que o script seja totalmente automatizado.
Eu não terei que esperar pela entrada ou qualquer coisa durante o tempo de execução, é o suficiente apenas enviar o pressionamento de tecla e o buffer de entrada cuidará do resto.
apt-get
, a solução apropriada é pré-configurar o banco de dados debconf com seus valores preferidos; então não vai perguntar a você.Respostas:
ou aproveitando a nova linha implícita que echo gera (obrigado Marcin)
Agora podemos simplesmente usar a
--sk
opção:ie
sudo rkhunter --sk --checkall
fonte
xxd
obter5c6e
hex, que é um literal\n
. se você fizerecho | xxd
isso, acabará com um feitiço de0a
. Então eu acho que use o que seu programa precisar.0a0a
que ainda não é o pretendido, adicionando um-n
suprime a nova linha implícita. Mas você está certo, claro, um planoecho | ...
funciona bem aqui. Atualizará minha resposta.5c6e
? Você omitiu-e
ou faz seu shell ouecho
não tratou essa opção?echo -ne "\n" | xxd 0000000: 0a
eecho -n "\n" | xxd 0000000: 5c6e
eecho "\n" | xxd 0000000: 5c6e 0a
eu não vi nenhuma diferença entre aspas simples e duplas. Meu shell é apenas um bash normal, há configurações que regulam o comportamento de tal funcionalidade básica?Você pode achar o
yes
comando útil.Vejo
man yes
fonte
yes
Eu acho isso útil.yes
envia como saída. Leia a página do manual.Você pode apenas usar sim .
fonte
Aqui está um exemplo de uso
expect
:Verifique:
man expect
para mais informações.fonte
Você pode fazer uso de expect ( man expect vem com exemplos).
fonte