Ekstra variabler på kommandolinjen
Overstyr verdier under kjøring med -e.
Ekstra variabler på kommandolinjen er en gratis leksjon i DevOps-bootcamp på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i DevOps-bootcamp, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i DevOps-bootcamp 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=443JSON 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.ymlExtra 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=stagingStyr 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. ✨
Lær deg DevOps-bootcamp 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
- 142
- Leksjoner
- 568
Ofte stilte spørsmål
Er leksjonen «Ekstra variabler på kommandolinjen» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien DevOps-bootcamp, inkludert «Ekstra variabler på kommandolinjen», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.
Hva lærer jeg i «Ekstra variabler på kommandolinjen»?
Overstyr verdier under kjøring med -e. Du øver på DevOps-bootcamp 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 DevOps-bootcamp?
Ingen tidligere erfaring er nødvendig. DevOps-bootcamp 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 DevOps-bootcamp-leksjonen?
Ja. Alle DevOps-bootcamp-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
- Definere og bruke vars i en play
- Syntaksen for {{ }}-substitusjon
- Ekstra variabler på kommandolinjen
- Hvor variabler kommer fra og prioritet