Przewodnik dla Apple IT: Wprowadzenie do Skryptów Mac

Przewodnik dla Apple IT: Wprowadzenie do Skryptów Mac

w tym przyjaznym dla początkujących przewodniku omówimy podstawowe elementy skryptów Mac, a następnie zobaczymy, jak korzystanie ze skryptów z rozwiązaniem do zarządzania urządzeniami mobilnymi (MDM) może pomóc w efektywniejszym zarządzaniu urządzeniami firmowymi.

oto krótki przegląd niektórych tematów, które omówimy:

  • czym są Skrypty?
  • używanie skryptów z rozwiązaniem MDM
  • polecenia terminala a skrypty powłoki
  • czym są powłoki: Bash a Zsh?,
  • podstawy skryptów z Bash

czym są Skrypty?

Skrypty to małe programy komputerowe, które zbierają serię poleceń w jeden plik. Podczas wpisywania poleceń w Terminalu Apple jest zwykle wykonywane jeden po drugim, za pomocą skryptu, można wykonać długą listę poleceń za pomocą jednej interakcji.

chociaż zwykle nie używasz skryptów Mac do tworzenia większych programów, możesz ich używać do automatyzacji rutynowych zachowań komputera. Na przykład, jeśli masz czasochłonną rutynę, która wymaga wielu kliknięć, możesz napisać skrypt i zrobić to za pomocą jednego.,

Apple dobrze umieszcza go w swoim skrypcie powłoki:

pisanie skryptu powłoki jest jak jazda na rowerze. Na początku spadasz i drapiesz kolana. Z nieco większym doświadczeniem, stajesz się komfortowo jeżdżąc nimi po mieście, ale także szybko odkrywasz, dlaczego większość ludzi jeździ samochodami na dłuższe wycieczki.

skrypty powłoki są ogólnie uważane za język klej, idealny do tworzenia małych kawałków kodu, które łączą ze sobą inne narzędzia. Chociaż skrypty powłoki mogą być używane do bardziej złożonych zadań, zwykle nie są najlepszym wyborem.,

Nauka pisania skryptów jest podobna do nauki języka programowania. Zaczynasz od podstaw i stamtąd budujesz swoją wiedzę.

dlatego w tym przewodniku skupimy się na elementach składowych skryptów. Informacje, które tutaj omawiamy, będą przydatne w wielu ustawieniach, ale ostatecznie skupimy się na tym, w jaki sposób skrypty mogą pomóc w wykonywaniu działań na wielu urządzeniach przy użyciu rozwiązania MDM.

co potrafią Skrypty?

zasadniczo Skrypty pozwalają robić skomplikowane rzeczy szybko, dokładnie i łatwo.,

  • szybko, ponieważ korzystanie ze skryptów Mac w MDM może zautomatyzować żmudne zadania, takie jak dostęp do programu komputerowego na 100 firmowych urządzeniach – z zerowymi kliknięciami zamiast 100.
  • dokładnie, ponieważ dobry skrypt za każdym razem wykona zdefiniowaną akcję w ten sam sposób – ufając osobie, aby wykonała zadanie ręcznie, może prowadzić do błędów, niespójności i zamieszania.
  • łatwo, ponieważ możesz wykonać naprawdę skomplikowane i dopracowane zadanie za pomocą serii prostych skryptów, które rozbijają je na mniejsze kawałki.,

używanie skryptów z rozwiązaniem MDM

używanie skryptów samodzielnie może pomóc zaoszczędzić czas, ale używanie ich z rozwiązaniem MDM, takim jak nasz produkt Kandji, otwiera dużo więcej mocy i swobody. Po napisaniu skryptu, który Ci się podoba, możesz uruchomić go za pomocą rozwiązania MDM, aby zastosować go do wszystkich urządzeń Twojej firmy.

sposób użycia skryptów w rozwiązaniach MDM różni się w zależności od produktu, ale dzięki Kandji możesz ich używać do takich rzeczy, jak dostosowanie instalacji niestandardowej aplikacji do konkretnych potrzeb Twojej firmy., (Możesz przeczytać nasz przewodnik wdrażania aplikacji, jeśli potrzebujesz podkładu na ten temat.)

w takim przypadku, jeśli Twoja firma chce zainstalować niestandardową aplikację na wszystkich urządzeniach firmowych, możesz określić pewne akcje preinstalowania lub postinstalowania, dodając skrypty do odpowiednich pól wprowadzania (patrz obrazek poniżej):

Preinstaluj Skrypty

Możesz utworzyć skrypt preinstalowania, jeśli chcesz wykonać akcję przed rozpoczęciem instalacji., Skrypty preinstalowane są zwykle używane do:

  • wykonywania zadań czyszczenia, które normalnie byłyby wykonywane ręcznie przed ponowną instalacją oprogramowania, takich jak usuwanie licencji, pamięci podręcznej, plików baz danych i innych.
  • Uruchom pliki konfiguracyjne. Wiele aplikacji wykorzystuje opcje masowego wdrażania, które działają poprzez znajdowanie plików konfiguracyjnych umieszczonych przed uruchomieniem Instalatora. Na przykład możesz użyć preinstalowanego skryptu do utworzenia określonego folderu i zapisać plik w tym folderze zawierający pewien rodzaj identyfikatora., Po zakończeniu instalacji instalator znajdzie te informacje i użyje ich do automatycznej konfiguracji aplikacji.

Skrypty Postinstall

można również utworzyć skrypt postinstall, który jest zwykle używany do konfiguracji preferencji aplikacji przed uruchomieniem oprogramowania. Aby udostępnić wspólny przykład, możesz użyć skryptu posiinstall, aby skonfigurować preferencje Użytkownika dla Google Chrome i upewnić się, że są skonfigurowane automatyczne aktualizacje.,

jak można sobie wyobrazić, skryptowanie tych zachowań daje o wiele większą kontrolę nad procesem instalacji i może zaoszczędzić zespołowi IT dużo czasu, jeśli w przeciwnym razie musiałby to zrobić ręcznie.

Skrypty niestandardowe

posiada również funkcję skryptów niestandardowych, która pozwala dodać dowolny skrypt obsługiwany przez macOS. Te skrypty Mac mogą być uruchamiane raz na urządzenie lub w sposób ciągły. Istnieje również opcja skryptu naprawczego, którą możesz dołączyć w razie potrzeby., Możesz zobaczyć więcej dostępnych opcji na stronie niestandardowego skryptu Kandji poniżej:

Building Blocks of Scripting

teraz, gdy mamy roboczą definicję tego, czym są skrypty i wiemy, co mogą osiągnąć, dowiedzmy się, jak to wszystko działa. W tej sekcji omówimy niektóre z głównych elementów składowych skryptów Mac, w tym polecenia terminala, skrypty powłoki i dwie wspólne powłoki.

czym są polecenia terminala?

Terminal to interfejs wiersza poleceń systemu macOS (CLI)., Pozwala użytkownikom wprowadzać zaawansowane modyfikacje na komputerze Mac za pomocą poleceń, które są tylko instrukcjami dla komputera Mac dotyczącymi tego, co chcesz zrobić.

źródło obrazu: support.apple.com

słowo ostrzeżenia: Terminal to niezwykle potężne narzędzie. Dokładnie zbadaj i przetestuj polecenia przed ich uruchomieniem, a jeśli to możliwe, Przetestuj za pomocą maszyny wirtualnej zamiast maszyny produkcyjnej.

Gdy wpiszesz polecenia do terminala, pozwala on komunikować się z interpreterem lub powłoką. Interpreter pobiera kod i tłumaczy go na język maszynowy, który System Operacyjny może zrozumieć.,

aby otworzyć Terminal, po prostu kliknij „aplikacje”, otwórz folder” Narzędzia”, a następnie kliknij dwukrotnie aplikację „Terminal”. Możesz używać poleceń terminala do wszystkiego, co możesz osiągnąć w GUI – i wiele więcej.,

oto kilka podstawowych przykładów poleceń:

  • Dodaj tekst do dokumentu (jeśli dokument nie istnieje, zostanie utworzony nowy)
echo 'Welcome to my document!' > ~/Desktop/myDocument.txt
  • Utwórz folder w określonej lokalizacji
mkdir ~/Desktop/myFolder
  • Przenieś dokument do niektóre lokalizacje
mv ~/Desktop/myDocument.txt ~Desktop/myFolder
  • otwórz dokument z określonej lokalizacji
open ~/Desktop/myFolder/myDocument.txt

jest to świetny sposób, aby zobaczyć, jak możesz używać poleceń, aby komputer Mac wykonywał określone zachowania, ale nie jest to zbyt praktyczne, jeśli chcesz wykonać serię zadań., Zobaczymy, jak skrypty to umożliwiają w następnej sekcji.

czym są skrypty powłoki Mac?

oczywiście Podłączanie poleceń terminala jeden po drugim będzie dość żmudne, gdy próbujesz wprowadzić zmiany dla setek firmowych urządzeń Mac. Zamiast wykonywać pojedyncze polecenia, jak w poprzednim przykładzie, możesz zamienić wszystkie polecenia w jeden skrypt-skrypt powłoki-który może działać bez bezpośredniej interakcji. Ułatwia to wykonywanie powtarzalnych lub wieloetapowych procesów przy jednoczesnej minimalizacji błędów.,

skrypt powłoki jest tylko plikiem tekstowym zawierającym polecenia Uniksa (polecenia, które mówią do Twojego systemu operacyjnego – macOS jest systemem operacyjnym opartym na Uniksie). Wszystko, co możesz zrobić za pomocą poleceń terminala, możesz zrobić za pomocą skryptów powłoki Mac, po prostu o wiele łatwiej. Możesz nawet zautomatyzować skrypty powłoki za pomocą narzędzi takich jak launchd.

Uruchom skrypt powłoki: Mac Terminal

uruchamianie skryptu powłoki jest dość proste. Gdybyśmy mieli zrobić skrypt Mac z poleceń terminala wprowadzonych powyżej, musielibyśmy zrobić to:

  1. wpisz #!/ bin / bash w pierwszej linii., Pierwsze dwie postacie, zwane „shebang” (#!), poinformuj Terminal, że wpisujesz skrypt powłoki. Reszta linii określa, z jaką powłoką powinny być uruchamiane Skrypty. W tym przypadku jest to bash, ale możesz również określić „zsh”, który jest kolejną powłoką, którą omówimy w następnej sekcji.
  2. Dodaj polecenia do Edytora skryptów. Podobnie jak procesory tekstu są wyspecjalizowane w pisaniu, edytory skryptów są wyspecjalizowane w pisaniu skryptów, robiąc rzeczy takie jak kodowanie kolorów słów określonych kategorii funkcjonalnych i oznaczanie błędów., Istnieje wiele edytorów skryptów, ale dwa z bardziej popularnych (i darmowych) są Atom i bbedit.
  3. zapisz go jako ” myscript.bash ” lub jak każda inna nazwa – po prostu upewnij się, że rozszerzenie pliku (część po okresie) jest oznaczone jako bash. W przeciwnym razie Terminal nie będzie w stanie uruchomić go poprawnie.
  4. autoryzacja terminala do wykonania skryptu. Teraz wystarczy dać Terminal uprawnienia do uruchomienia skryptu., Nie kopiuj i nie wklejaj zawartości – musisz powiedzieć Terminalowi, aby plik skryptu był wykonywalny za pomocą polecenia chmod +x, na przykład:
    chmod +x ~/Desktop/myFolder/myscript.bash
  5. naciśnij „enter”, aby uruchomić skrypt powłoki. Terminal Maca zajmie się resztą!

to wszystko-program wykona listę poleceń w kolejności. Prawdopodobnie stanie się to szybciej, niż możesz śledzić, ale to tylko kolejna zaleta skryptów Mac – jest naprawdę szybki.,

zanim porozmawiamy o innych rzeczach, które można zrobić ze skryptami, zobaczmy, czym są powłoki (takie jak „bash”, ta, której użyliśmy w tym przykładzie).

czym są muszle?

Po otwarciu terminala system uruchamia program powłoki. Powłoki są interpreterami wiersza poleceń, co, mówiąc prościej, oznacza, że pobierają Twoje polecenia i przekazują je systemowi operacyjnemu, aby je wprowadzić w życie.

domyślnie Mac używa zsh (z shell) lub bash (Bourne-again Shell) jako powłoki lub interpretera wiersza poleceń. Domyślna powłoka komputera Mac będzie zależeć od używanej iteracji systemu macOS.,

  • zsh( Mac Catalina): jeśli utworzyłeś nowe konto użytkownika w macOS Catalina beta lub nowszym, domyślną powłoką jest zsh. iteracje macOS przed tym użyciem bash.
  • bash( wcześniejszy macOS): jeśli używasz macOS Mojave i wcześniejszych, bash jest domyślną powłoką.

niezależnie od tego, czy Twoje konto używa domyślnej powłoki bash czy zsh Mac, możesz ją zmienić w zaledwie kilku krokach., Oto, co musisz zrobić:

  1. kliknij menu Apple
  2. wybierz Preferencje systemowe> użytkownicy& grupy
  3. kliknij blokadę i wprowadź nazwę konta i hasło.
  4. kliknij kontrolną nazwę Użytkownika na liście użytkowników > wybierz Opcje zaawansowane
  5. spójrz na menu „Login shell” i wybierz powłokę
  6. kliknij OK, gdy znajdziesz żądaną powłokę

Bash vs., Zsh: Skrypty Mac

Bash i zsh mają wiele wspólnych funkcji i możesz przełączać się z jednej na drugą, nie naciskając zbyt dużej krzywej uczenia się. Zanim przejdziemy do tego, co je wyróżnia, zobaczmy kilka miejsc, w których nakładają się na siebie.

  • polecenie Z: polecenie Z pozwala programistom łatwo poruszać się po katalogach, dając im możliwość odwiedzenia Ostatnio lub często odwiedzanego katalogu, wpisując „z”, a następnie nazwę katalogu., Jest to szybsze niż wpisanie pełnej lokalizacji, jak musieliśmy zrobić, gdy otworzyliśmy dokument w sekcji poleceń terminala.
  • Automatyczne uzupełnianie: obie powłoki zawierają również funkcję automatycznego uzupełniania wiersza poleceń. Aby skorzystać z tej funkcji, wystarczy wpisać polecenie, nacisnąć klawisz” -„, a następnie nacisnąć tab. Zobaczysz listę dostępnych opcji polecenia, które możesz przejść, aż znajdziesz tę, którą chcesz.,
  • Auto-korekcja: obie powłoki używają formy auto-korekcji, ale funkcja Basha musi być włączona jako pierwsza, podczas gdy zsh ma wbudowaną funkcję auto-korekcji, która automatycznie wykrywa małe literówki.
  • Dostosowywanie kolorów: zarówno zsh, jak i bash oferują wiele narzędzi do dostosowywania kolorów, które ułatwiają zrozumienie skryptu na pierwszy rzut oka.

jeśli chodzi o różnice, bash był domyślną powłoką dla użytkowników macOS aż do Cataliny i nadal jest najczęściej używaną powłoką wśród administratorów IT., Ponieważ bash ma ogromną liczbę zwolenników, istnieje wiele zasobów, dzięki czemu jest świetny dla początkujących.

Bash jest częścią rodziny muszli Bourne' a, która obejmuje również sh, ash, zsh i ksh. Jest załadowany więcej funkcji, niż możemy realistycznie wymienić tutaj, ale niektóre z jego unikalnych funkcji obejmują pętle, konstrukcje warunkowe, rozszerzenia tyldy i nawiasów oraz aliasy.,

Zsh, domyślna powłoka Mac Catalina, z drugiej strony, nie jest tak popularna jak bash, ale nadal ma ogromną popularność, w tym frameworki open source, takie jak Oh My Zsh, i jest powszechnie chwalony za swoją funkcjonalność. Zsh oferuje kilka unikalnych funkcji, takich jak globbing plików, moduły do ładowania, Rozszerzanie ścieżek, Skrypty uruchamiania/zamykania i wiele innych. W tym przewodniku skupimy się przede wszystkim na bash.

podstawy Bash

teraz, gdy rozumiemy, jak działają skrypty i powłoki, nadszedł czas, aby przejść przez kilka wskazówek na temat skryptów z bash., Następnie zagłębimy się w podstawy, takie jak przypisywanie zmiennych i pisanie warunków.

separacja słów

jednym z pierwszych głównych elementów składowych jest sposób, w jaki bash używa separatorów słów. Patrząc na przykładowe skrypty, zobaczysz metacharaktery takie jak ; i &. Są to tylko dwie z siedmiu znaków, których bash używa do oddzielania słów podczas tworzenia skryptów.

poniżej zamieścimy listę wszystkich siedmiu. Kiedy je zobaczysz, nie martw się. Wszystko jest poukładane., Jak zobaczysz w dalszej części sekcji conditionals, rodzaj używanej składni zależy od tego, co próbujesz osiągnąć.

  • (
  • )
  • <
  • >
  • ;
  • &

  • |

przydatne polecenia organizacji

bash daje również szereg poleceń, których można użyć do organizowania plików. Omówiliśmy niektóre z nich w sekcji poleceń terminala, ale oto kilka innych:

  • mkdir (make directory) służy do utworzenia nowego katalogu lub folderu.,
  • MV (move) służy do przenoszenia jednego lub więcej plików lub katalogów w inne miejsce.
  • rm (remove) służy do usuwania plików.
  • rmdir (remove directory) służy do usuwania katalogu.

polecenia wyświetlania

Jeśli chcesz zrobić coś więcej niż tylko przenosić pliki, możesz użyć niektórych z tych poleceń wyświetlania, aby zobaczyć informacje, które zawierają pliki. Oto dwa z nich:

  • cat (concatenate) odczytuje zawartość jednego lub więcej plików i wyświetla ją. Jest to idealne rozwiązanie dla krótszych plików.,
  • less to kolejne polecenie przeglądania, które świetnie nadaje się do przeglądania dłuższych plików, ponieważ wyświetla tylko jeden ekran informacji na raz i zawiera przydatne funkcje nawigacyjne do wyszukiwania konkretnych słów lub przechodzenia do następnej lub poprzedniej strony.

czym są zmienne?

zmienne są nazwane symbolami zastępczymi, które odnoszą się do określonej wartości. Po wpisaniu nazwy zmiennej system traktuje ją tak, jakbyś wpisał wartość, do której się odnosi. Zmienne można nazywać za pomocą liczb, liter, nazw plików lub innych typów danych.,

zmienne ułatwiają pisanie skryptów, które używają określonych fragmentów danych – nawet jeśli dane te zawsze się zmieniają, np. nazwy użytkowników. Zamiast pisać oddzielne polecenia dla wielu odmian nazw użytkowników, możesz po prostu zdefiniować zmienną nazwę użytkownika i użyć jej jako elementu zastępczego dla wszystkich odmian, których użytkownicy mogą używać.

Przypisywanie zmiennych jest dość łatwe. Wystarczy podać nazwę zmiennej i wartość, w ten sposób:

Variable_Name=value

kapitalizacja nie ma tutaj znaczenia., Nazwa i wartość zmiennej może być dowolna, na przykład:

x=1
var1=hello
var2=GOODBYE

To powiedziawszy, istnieją pewne ograniczenia dotyczące słów lub znaków, których można użyć do zmiennych (które omówimy dalej). Ale po pierwsze, ważne jest, aby pamiętać, że bash nie używa spacji przed lub po znaku równości podczas przypisywania zmiennych.,

oznacza to, że nie możesz przypisać zmiennej ze spacjami, jak to:

niepoprawne:

x = 1

musisz przypisać zmienną bez spacji, jak to:

poprawne:

x=1

jednak możesz używać spacji w nazwach zmiennych za pomocą cudzysłowów, jak to:

poprawne:

x="Number one"

powinniśmy również wspomnieć, że możesz użyć skryptu Mac, aby powiedzieć terminalowi, aby zwrócił Ci wartość zmiennej. Można to zrobić na dwa sposoby., W obu przykładach, „x” jest wartością zmiennej, której szukasz:

$x
${x}

Możesz również sprawić, że zmienna będzie odnosić się do wyniku polecenia, takiego jak:

variable1=$(Some Bash Command)

ograniczenia zmiennych

więc jakie są te zmienne ograniczenia, o których właśnie wspominaliśmy? Bash ma dwadzieścia „słów zarezerwowanych”, których nie można używać dla zmiennych, ponieważ są one już przypisane do innych ważnych funkcji w powłoce., Za każdym razem, gdy przypisujesz zmienne, po prostu musisz unikać tych słów i nie napotkasz żadnych problemów ze skryptem.

oto one:

  • ! i czas
  • ]
  • { and }
  • if, then, elif, else, and fi
  • case and esac
  • select and in
  • while, until, for, do, and done
  • function

single vs., Podwójne cudzysłowy

'

tekst zamknięty w pojedynczych cudzysłowach oznacza, że zawiera ściśle ten tekst jako przeczytany – nie nadaje znaczenia żadnym znakom specjalnym, takim jak zmienne lub ograniczenia zmiennych.

"

podwójne cudzysłowy zachowują literalną wartość niektórych znaków, ale mogą zawierać niektóre zmienne lub znaki o specjalnym znaczeniu, w tym:

$
'
\
!

znaczenie znaku !, wewnątrz cudzysłowów jest zachowany tylko wtedy, gdy włączone jest rozszerzanie historii, a po \ musi nastąpić inny znak specjalny (lub nowa linia).

czym są warunki?

kolejnym dużym krokiem w nauce skryptów Mac jest wymyślenie, jak korzystać z warunków. Zasadniczo, conditionals są instrukcjami if / then, które ustawiają warunki i sprawdzają, czy są spełnione(tzn. jeśli jest 6 rano, powiedz „Dzień dobry”).

w bash składnia instrukcji if/then wygląda następująco:

if <condition>; then
<command(s)>
fi

Podzielmy to.,

  1. zacznij od ” if ” I natychmiast podążaj za nim z jego warunkami.
  2. użyj średnika, aby oddzielić warunek ” IF „i rozpocząć polecenie „THEN”. Polecenie to zostanie wykonane tylko wtedy, gdy warunek ” IF ” jest spełniony.
  3. na koniec zamknij polecenie if / then za pomocą „fi” – jest to po prostu „if” napisane wstecz.

oto przykład:

if ; then
echo "That number is greater than or equal to 4"
fi

tutaj sprawdzamy, czy liczba 5 jest większa lub równa (to jest „-ge”) innej liczbie 4., Jeśli tak, to zostanie wykonane polecenie „then”, które wyświetli komunikat: „Ta liczba jest większa lub równa 4.”Wyobraź sobie, jak zmiana 5 i użycie zmiennej zamiast tego może poprawić funkcjonalność tego skryptu.

Po zapoznaniu się z tymi instrukcjami możesz nauczyć się, jak używać „else”, aby nadać poleceniom alternatywną akcję w przypadku, gdy warunki „if” nie są spełnione. W przypadku bardziej skomplikowanych poleceń, możesz nawet użyć „elif „(else if), aby dodać warunki do” else „bez żmudnego przepisywania większej liczby warunków” else”.,

Skrypty z rozwiązaniami MDM

podobnie jak skrypty Mac mogą sprawić, że poszczególne polecenia terminala będą bardziej wydajne, użycie skryptów z rozwiązaniem MDM może wydobyć Twój najpełniejszy potencjał zarządzania.

niezależnie od tego, czy używasz funkcji skryptów niestandardowych, czy też określasz zachowania przed i poinstalowane dla niestandardowych aplikacji, skrypty z MDM mogą pozwolić Ci wykonać wiele zaawansowanych działań zarządzania urządzeniami.,

Mam nadzieję, że nauczyłeś się, że możesz używać skryptów do wykonywania wieloetapowych zadań szybciej i dokładniej-oraz że możesz tworzyć zaawansowane zasady i wysyłać je na wszystkie urządzenia Twojej firmy za pomocą rozwiązania MDM, takiego jak Kandji.

poza wprowadzaniem skryptów w życie, Kandji ma wiele innych wspaniałych funkcji, takich jak zgodność jednym kliknięciem z głównymi testami bezpieczeństwa i wdrażanie zero-touch. To wszystko, czego potrzebuje Twoja firma, aby zarządzać flotą od wdrożenia do wycofania.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *