This article is also available in the following other languages / Dieser Beitrag ist auch in folgenden anderen Sprachen verfügbar: English

Shell Scripts: Benutzereingaben automatisieren

2020-05-21 - christian - ansible, bash, linux, shell

Mit dem Tool expect können Tastatur Eingaben in einem Script oder Programm automatisiert werden.

#!/usr/bin/expect
set timeout 600
spawn /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
expect "* email * \\\[ENTER\\\]: "
send "mail@example.com\n"
expect eof

Ausführen wie ein “normales” Shell Script:

chmod a+x expect-script
./expect-script

expect startet das eigentliche Programm, wartet auf die Ausgabe von Enter your email and press [ENTER]: und gibt anschließend die Email Adresse ein.

Mit Ansible

- name: Execute lets encrypt bootstrap script
  shell: |
    set timeout 600
    spawn /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
    expect "* email * \\\[ENTER\\\]: "
    send "mail@example.com\n"
    expect eof
  args:
    executable: /usr/bin/expect
  environment:
    DEBIAN_FRONTEND: noninteractive

serverless.industries BG by Carl Lender (CC BY 2.0)
e4c06c3b 2020-07-10 09:53