Kör en uppgift endast när värdet är true
Villkorsstyr uppgifter med ett booleskt villkor
Kör en uppgift endast när värdet är true är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 1 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Tasks som fattar beslut
Ibland ska en task bara köras i vissa situationer. Nyckelordet when låter Er villkora en task utifrån ett villkor som Ni väljer. 🚦
Nyckelordet when
Lägg till when i vilken task som helst. Om uttrycket är sant körs tasken; om det är falskt hoppar Ansible över den och fortsätter.
- name: Reboot the box
ansible.builtin.reboot:
when: reboot_requiredInga klammerparenteser behövs
Inuti when skriver Ni det nakna uttrycket. Till skillnad från strängar utelämnar Ni dubbla klammerparenteser, eftersom when redan är en Jinja2-kontext.
when: ansible_distribution == "Ubuntu"Variabler med sanningsvärde
En enkel boolesk variabel fungerar direkt. Om install_extras är true körs tasken, annars hoppas den tyst över.
- name: Add extra tools
ansible.builtin.package:
name: htop
when: install_extrasJämförelser
Villkor kan jämföra värden. Operatorer som ==, !=, < och > låter Er villkora tasks utifrån tal och strängar. ⚖️
when: app_version == "2.0"Överhoppad eller misslyckad
En task som hoppas över är inte ett fel. I körningsresultatet ser Ni skipping i stället för ok eller changed, och play fortsätter.
Negera ett villkor
Använd not för att vända på ett test. Den här tasken körs bara när tjänsten inte redan är installerad.
when: not service_installedDefinierad eller inte
Ni kan testa om en variabel finns. Testet is defined skyddar mot fel som orsakas av odefinierade variabler.
when: custom_port is definedwhen körs per host
Varje host utvärderas separat. Ett villkor kan vara sant på en server och falskt på en annan i samma play.
Håll villkoren enkla
Lättlästa villkor är tillförlitliga villkor. Om ett when-villkor blir långt kan Ni dela upp logiken eller använda en variabel som beskriver avsikten.
Deklarativt, inte imperativt
when håller playbooks deklarativa: Ni beskriver situationen och Ansible fattar beslut per host. Inga if-block eller förgrenade skript behövs. 🎯
Snabbtest
Nu bekräftar vi hur when fungerar.
Sammanfattning
Nyckelordet when kör en task endast om dess uttryck är sant. Falskt innebär överhoppning, inte fel, och utvärderas per host. ✅
Lär dig DevOps-bootcamp med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 142
- Lektioner
- 568
Vanliga frågor
Är lektionen ”Kör en uppgift endast när värdet är true” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Kör en uppgift endast när värdet är true”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Vad lär jag mig i ”Kör en uppgift endast när värdet är true”?
Villkorsstyr uppgifter med ett booleskt villkor Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?
Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Kör en uppgift endast när värdet är true”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?
Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Kör en uppgift endast när värdet är true
- Förgrena efter fakta om operativsystemfamilj
- Kombinera villkor med and / or
- Registrera ett resultat och fatta sedan beslut