Ansible Academy · Oppitunti

Shell-komentojen suorittaminen command- ja shell-moduuleilla

Suorita mielivaltaisia komentoja etäsolmuissa.

Oppitunti 3/413 vaihetta

Shell-komentojen suorittaminen command- ja shell-moduuleilla on ilmainen Ansible Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Ansible Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Ansible Academy-kurssilla on yhteensä 4 oppituntia.

Suorittakaa oikeita komentoja etänä

Joskus palvelimillanne täytyy vain suorittaa raaka komento. Ansible tarjoaa siihen kaksi moduulia: command ja shell. 🖥️

command-moduuli

command-moduuli suorittaa ohjelman suoraan etäisännässä. Se on turvallinen oletus yksinkertaisille yksittäisille komennoille.

ansible all -m command -a "uptime"

command ohittaa komentotulkin

Koska command suoritetaan ilman komentotulkkia, se ei käsittele putkia, uudelleenohjauksia tai muuttujia, kuten $HOME. Tämä tekee toiminnasta ennakoitavaa ja turvallista.

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

shell-moduuli

shell-moduuli suorittaa komennon isännän oikean komentotulkin kautta, joten putket, uudelleenohjaukset ja muuttujat toimivat.

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

Putket vaativat shell-moduulin

Kun komennossa käytetään putkea tai uudelleenohjausta, valitkaa shell. command-moduuli käsittelisi |-merkin vain tavallisena argumenttina.

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

Ympäristömuuttujat shell-moduulissa

Vain shell-moduuli laajentaa muuttujat. Käyttäkää sitä, kun komento perustuu esimerkiksi muuttujaan $HOME tai $PATH.

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

Suosikaa command-moduulia

Käyttäkää oletuksena command-moduulia ja shell-moduulia vain silloin, kun todella tarvitsette komentotulkin ominaisuuksia. Mitä vähemmän komentotulkkia käytätte, sitä vähemmän yllätyksiä tulee vastaan.

Suorittakaa hakemistossa chdir-valitsimella

Molemmat moduulit hyväksyvät chdir-valitsimen, jolla hakemistoon siirrytään ennen suorittamista. Se on siistimpi ratkaisu kuin cd-komennon käyttäminen komennon sisällä.

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

Estäkää uusinnat creates-valitsimella

creates-valitsin ohittaa komennon, jos määritetty tiedosto on jo olemassa. Se on yksinkertainen tapa välttää työn toistaminen.

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

Ne eivät ole idempotentteja

Molemmat moduulit ilmoittavat tilaksi changed jokaisella ajolla, koska Ansible ei voi tietää, mitä raakakomento teki. Suosikaa oikeita moduuleja, jos sellainen on saatavilla.

Viimeinen keino, ei ensisijainen valinta

Käsitelkää shell- ja command-moduuleja poikkeusratkaisuina. Jos sopiva erillinen moduuli, kuten service tai package, on olemassa, käyttäkää sitä turvallisemman tuloksen saavuttamiseksi.

Pikatarkistus

Teidän on suoritettava komento, joka käyttää putkea. Minkä moduulin valitsette?

Kertaus

Käyttäkää command-moduulia tavallisiin komentoihin ja shell-moduulia, kun tarvitsette putkia tai muuttujia. Muistakaa, että molemmat ilmoittavat aina tilaksi changed. 🖥️

Aloita maksutta

Opi YAML tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”Shell-komentojen suorittaminen command- ja shell-moduuleilla” ilmainen?

Kyllä – oppitunnin ”Shell-komentojen suorittaminen command- ja shell-moduuleilla” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Ansible Academy-kurssin, päivitä CoddyKit PROhon. Ansible Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Shell-komentojen suorittaminen command- ja shell-moduuleilla”?

Suorita mielivaltaisia komentoja etäsolmuissa. Harjoittelet Ansible Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Ansible Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Ansible Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Shell-komentojen suorittaminen command- ja shell-moduuleilla”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Ansible Academy-oppitunnilla?

Kyllä. Jokainen Ansible Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. ansible-komennon anatomia
  2. Kuviot: kaikkien, webin ja host1:n kohdistaminen
  3. Shell-komentojen suorittaminen command- ja shell-moduuleilla
  4. Oikeuksien korottaminen become-määritteellä
← Takaisin: Ansible Academy