Ansible Academy · leksjon

Ekstra variabler på kommandolinjen

Overstyr verdier under kjøring med -e.

Leksjon 3 av 413 trinn

Ekstra variabler på kommandolinjen er en gratis leksjon i Ansible Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Ansible Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Ansible Academy inneholder totalt 4 leksjoner.

Verdier under kjøring

Noen ganger vil De velge en verdi når De starter en play, i stedet for å bygge den inn i en fil. Det er dette extra vars brukes til. 🌟

Flagget -e

Send med extra vars ved hjelp av flagget -e (eller --extra-vars) til ansible-playbook. Hver av dem blir en variabel for hele kjøringen.

ansible-playbook site.yml -e "env=prod"

Flere key=value-par

Skill flere verdier med mellomrom i én streng omgitt av anførselstegn. Ansible tolker hvert key=value-par som en variabel.

ansible-playbook site.yml -e "env=prod port=443"

Gjenta -e

De kan også sende med -e flere ganger. Hver forekomst legger til sin egen variabel, noe som gjør lange kommandoer lettere å lese.

ansible-playbook site.yml -e env=prod -e port=443

JSON for komplekse datatyper

key=value gjør alt til en streng. For å sende tall, lister eller ordbøker bruker du JSON i extra vars i stedet.

ansible-playbook site.yml -e '{"port": 443}'

Last inn extra vars fra en fil

Sett @ foran verdien for å lese variabler fra en YAML- eller JSON-fil. Dette er nyttig for mange overstyringer.

ansible-playbook site.yml -e @overrides.yml

Extra vars vinner

En extra var overstyrer nesten alle andre kilder. Hvis env er satt i vars og på kommandolinjen, brukes verdien fra kommandolinjen.

En trygg standardverdi for overstyring

Kombiner extra vars med filteret default, slik at playet fortsatt fungerer når ingen overstyring er angitt.

name: "{{ env | default('dev') }}"

Nyttig for miljøer

Det samme playbooket kan målrettes mot dev, staging eller prod bare ved å endre én extra var ved oppstart. Én fil, mange mål.

ansible-playbook deploy.yml -e env=staging

Styr atferd med flagg

Extra vars fungerer godt som av/på-brytere. Kombiner en med en when-betingelse for å aktivere eller hoppe over en oppgave.

when: run_migrations | default(false)

Bruk anførselstegn rundt mellomrom med omhu

Hvis en verdi inneholder mellomrom, setter du hele paret i anførselstegn slik at skallet ikke deler det opp. Vær oppmerksom på shell quoting.

ansible-playbook s.yml -e "motd=Hello there"

Hurtigsjekk

Du har satt port i vars og sender også -e port=443. Hvilken verdi vinner?

Oppsummering

Du kan nå overstyre verdier ved oppstart med -e, sende JSON eller @-filer og stole på at extra vars overstyrer andre kilder. ✨

Gratis å komme i gang

Lær deg YAML med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Ekstra variabler på kommandolinjen» gratis?

Ja – hele teksten i «Ekstra variabler på kommandolinjen» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Ansible Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Ansible Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Ekstra variabler på kommandolinjen»?

Overstyr verdier under kjøring med -e. Du øver på Ansible Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Ansible Academy?

Ingen tidligere erfaring er nødvendig. Ansible Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Ekstra variabler på kommandolinjen»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Ansible Academy-leksjonen?

Ja. Alle Ansible Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Definere og bruke vars i en play
  2. Syntaksen for {{ }}-substitusjon
  3. Ekstra variabler på kommandolinjen
  4. Hvor variabler kommer fra og prioritet
← Tilbake til Ansible Academy