Ansible Academy · leksjon

Kjøre shell-kommandoer med command og shell

Kjør vilkårlige kommandoer på eksterne noder.

Leksjon 3 av 413 trinn

Kjøre shell-kommandoer med command og shell 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.

Kjør faktiske kommandoer eksternt

Noen ganger trenger De bare å kjøre en råkommando på serverne. Ansible gir Dem to moduler til dette: command og shell. 🖥️

command-modulen

command-modulen kjører et program direkte på fjernverten. Den er det trygge standardvalget for enkle enkeltkommandoer.

ansible all -m command -a "uptime"

command hopper over skallet

Fordi command kjører uten et skall, ignorerer den pipes, omdirigeringer og variabler som $HOME. Det gjør kjøringen forutsigbar og trygg.

ansible all -m command -a "ls /etc"

shell-modulen

shell-modulen kjører kommandoen gjennom et ekte skall på verten, slik at pipes, omdirigeringer og variabler fungerer.

ansible all -m shell -a "cat /etc/*release"

Pipes krever shell

Når kommandoen bruker en pipe eller en omdirigering, bør De velge shell. command-modulen ville bare behandlet | som et vanlig argument.

ansible web -m shell -a "ps aux | grep nginx"

Miljøvariabler i shell

Bare shell-modulen utvider variabler. Bruk den når kommandoen er avhengig av noe som $HOME eller $PATH.

ansible all -m shell -a "echo $HOME"

Foretrekk command når De kan

Velg command som standard, og bruk shell bare når De faktisk trenger funksjoner fra skallet. Mindre bruk av skall betyr færre overraskelser.

Kjør i en katalog med chdir

Begge modulene godtar chdir for å bytte til en katalog før kjøringen. Det er ryddigere enn å bruke cd i kommandoen.

ansible app -m command -a "chdir=/srv git pull"

Sikre gjentatte kjøringer med creates

Alternativet creates hopper over kommandoen hvis en angitt fil allerede finnes. Det er en enkel måte å unngå å gjenta arbeid på.

ansible app -m command -a "touch /tmp/done creates=/tmp/done"

De er ikke idempotente

Begge modulene rapporterer changed ved hver kjøring, siden Ansible ikke kan vite hva råkommandoen Deres gjorde. Foretrekk ekte moduler når en slik finnes.

Siste utvei, ikke førstevalg

Betrakt shell og command som nødløsninger. Hvis en dedikert modul som service eller package passer, bør De bruke den i stedet for et tryggere resultat.

Hurtigsjekk

De må kjøre en kommando som bruker en pipe. Hvilken modul bør De velge?

Oppsummering

Bruk command for vanlige kommandoer og shell når De trenger pipes eller variabler. Husk at begge alltid rapporterer changed. 🖥️

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 «Kjøre shell-kommandoer med command og shell» gratis?

Ja – hele teksten i «Kjøre shell-kommandoer med command og shell» 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 «Kjøre shell-kommandoer med command og shell»?

Kjør vilkårlige kommandoer på eksterne noder. 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 «Kjøre shell-kommandoer med command og shell»?

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. Anatomien til ansible-kommandoen
  2. Mønstre: målrett alle, web og host1
  3. Kjøre shell-kommandoer med command og shell
  4. Privilegiumsstigning med become
← Tilbake til Ansible Academy