0Pricing
DevOps Bootcamp · Lekcja

Uruchamianie poleceń powłoki za pomocą command i shell

Wykonuj dowolne polecenia na zdalnych węzłach.

Uruchamianie poleceń powłoki za pomocą command i shell to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Wykonuj rzeczywiste polecenia zdalnie

Czasami trzeba po prostu uruchomić surowe polecenie na serwerach. Ansible udostępnia do tego dwa moduły: command i shell. 🖥️

Moduł command

Moduł command uruchamia program bezpośrednio na hoście zdalnym. Jest bezpiecznym domyślnym wyborem dla prostych, pojedynczych poleceń.

ansible all -m command -a "uptime"

command pomija powłokę

Ponieważ command działa bez powłoki, ignoruje potoki, przekierowania i zmienne takie jak $HOME. Dzięki temu jego działanie jest przewidywalne i bezpieczne.

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

Moduł shell

Moduł shell wykonuje polecenie za pośrednictwem rzeczywistej powłoki na hoście, dlatego działają potoki, przekierowania i zmienne.

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

Potoki wymagają shell

Gdy polecenie używa potoku lub przekierowania, należy wybrać shell. Moduł command potraktowałby znak | jak zwykły argument.

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

Zmienne środowiskowe w shell

Tylko moduł shell rozwija zmienne. Należy go użyć, gdy polecenie zależy od wartości takiej jak $HOME lub $PATH.

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

Jeśli to możliwe, wybieraj command

Domyślnie należy wybierać command, a shell stosować tylko wtedy, gdy funkcje powłoki są naprawdę potrzebne. Im mniej powłoki, tym mniej niespodzianek.

Uruchamiaj w katalogu za pomocą chdir

Oba moduły przyjmują parametr chdir, który przed uruchomieniem przechodzi do wskazanego katalogu. Jest to rozwiązanie czytelniejsze niż umieszczanie cd w poleceniu.

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

Zabezpiecz ponowne uruchomienia za pomocą creates

Opcja creates pomija polecenie, jeśli wskazany plik już istnieje. To prosty sposób na uniknięcie powtarzania pracy.

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

Nie są idempotentne

Oba moduły przy każdym uruchomieniu zgłaszają stan changed, ponieważ Ansible nie może wiedzieć, co zrobiło surowe polecenie. Jeśli istnieje odpowiedni moduł, należy go preferować.

Ostateczność, nie pierwszy wybór

Moduły shell i command należy traktować jako wyjście awaryjne. Jeśli pasuje dedykowany moduł, taki jak service lub package, należy użyć właśnie jego, aby uzyskać bezpieczniejsze rezultaty.

Szybkie sprawdzenie

Trzeba uruchomić polecenie korzystające z potoku. Który moduł należy wybrać?

Podsumowanie

Modułu command należy używać do zwykłych poleceń, a shell wtedy, gdy potrzebne są potoki lub zmienne. Należy pamiętać, że oba zawsze zgłaszają stan changed. 🖥️

Często zadawane pytania

Czy lekcja „Uruchamianie poleceń powłoki za pomocą command i shell” jest bezpłatna?

Tak — pełny tekst „Uruchamianie poleceń powłoki za pomocą command i shell” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Co nauczysz się w „Uruchamianie poleceń powłoki za pomocą command i shell”?

Wykonuj dowolne polecenia na zdalnych węzłach. Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?

Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Uruchamianie poleceń powłoki za pomocą command i shell”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?

Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Anatomia polecenia ansible
  2. Wzorce: wybieranie wszystkich hostów, web i host1
  3. Uruchamianie poleceń powłoki za pomocą command i shell
  4. Podnoszenie uprawnień za pomocą become
← Powrót do DevOps Bootcamp