Zusätzliche Variablen in der Kommandozeile
Überschreiben Sie Werte zur Laufzeit mit -e.
Zusätzliche Variablen in der Kommandozeile ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Werte zur Laufzeit
Manchmal möchten Sie einen Wert beim Start eines Plays auswählen, statt ihn fest in eine Datei einzutragen. Dafür sind extra vars gedacht. 🌟
Das -e-Flag
Übergeben Sie extra vars mit dem Flag -e (oder --extra-vars) an ansible-playbook. Jede Variable steht für den gesamten Lauf zur Verfügung.
ansible-playbook site.yml -e "env=prod"Mehrere key=value-Paare
Trennen Sie mehrere Werte innerhalb einer einzigen Zeichenkette in Anführungszeichen durch Leerzeichen. Ansible verarbeitet jedes key=value-Paar zu einer Variable.
ansible-playbook site.yml -e "env=prod port=443"-e wiederholen
Sie können -e auch mehr als einmal übergeben. Jede Angabe fügt eine eigene Variable hinzu, wodurch lange Befehle übersichtlich bleiben.
ansible-playbook site.yml -e env=prod -e port=443JSON für komplexe Datentypen
key=value macht alles zu einem String. Um Zahlen, Listen oder Dictionaries zu übergeben, verwenden Sie stattdessen JSON in den Extra-Variablen.
ansible-playbook site.yml -e '{"port": 443}'Extra-Variablen aus einer Datei laden
Stellen Sie dem Wert ein @ voran, um Variablen aus einer YAML- oder JSON-Datei zu lesen. Ideal für eine lange Liste von Überschreibungen.
ansible-playbook site.yml -e @overrides.ymlExtra-Variablen haben Vorrang
Eine Extra-Variable hat vor fast jeder anderen Quelle Vorrang. Wenn env in vars und über die CLI gesetzt ist, wird der Wert der Befehlszeile verwendet.
Ein sicherer Standardwert für Überschreibungen
Kombinieren Sie Extra-Variablen mit dem Filter default, damit das Play weiterhin funktioniert, wenn keine Überschreibung angegeben wird.
name: "{{ env | default('dev') }}"Für Umgebungen geeignet
Dasselbe Playbook kann auf dev, staging oder prod ausgerichtet werden, indem Sie beim Start nur eine Extra-Variable ändern. Eine Datei, viele Ziele.
ansible-playbook deploy.yml -e env=stagingVerhalten mit Flags umschalten
Extra-Variablen eignen sich gut als Ein-/Aus-Schalter. Kombinieren Sie eine davon mit einer when-Bedingung, um eine Task zu aktivieren oder zu überspringen.
when: run_migrations | default(false)Leerzeichen sorgfältig in Anführungszeichen setzen
Wenn ein Wert Leerzeichen enthält, setzen Sie das gesamte Paar in Anführungszeichen, damit Ihre Shell es nicht aufteilt. Achten Sie auf Shell-Quoting.
ansible-playbook s.yml -e "motd=Hello there"Schnelltest
Sie setzen port in vars und übergeben außerdem -e port=443. Welcher Wert hat Vorrang?
Zusammenfassung
Sie können Werte jetzt beim Start mit -e überschreiben, JSON oder Dateien mit @-Syntax übergeben und sich darauf verlassen, dass Extra-Variablen andere Quellen überstimmen. ✨
Häufig gestellte Fragen
Ist die Lektion „Zusätzliche Variablen in der Kommandozeile“ kostenlos?
Ja — der vollständige Text von „Zusätzliche Variablen in der Kommandozeile“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Zusätzliche Variablen in der Kommandozeile“?
Überschreiben Sie Werte zur Laufzeit mit -e. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um DevOps Bootcamp zu starten?
Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Zusätzliche Variablen in der Kommandozeile“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?
Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- vars in einem Play definieren und verwenden
- Die {{ }}-Substitutionssyntax
- Zusätzliche Variablen in der Kommandozeile
- Woher Variablen kommen und welche Vorrang haben