I denne nybegynder-venlige guide, vi kommer til at gå dig gennem de byggesten, af Mac-scripting, og så vil vi se, hvordan du bruger scripts med din mobile device management (MDM) løsning kan hjælpe med DET mere effektivt at styre virksomheden ejes enheder.
Her er et hurtigt overblik over nogle af de emner, vi vil dække:
- hvad er Scripts?
- brug af Scripts med en MDM-løsning
- terminalkommandoer vs. Shell Scripts
- hvad er skaller: Bash vs. ?sh?,Grundlæggende om Scripting med Bash
Hvad er Scripts?
Scripts er små computerprogrammer, der samler en række kommandoer i en fil. Mens du skriver kommandoer i Apples Terminal, udføres typisk en efter en, med et script, kan du udføre en lang liste med kommandoer med kun en interaktion.selvom du typisk ikke vil bruge Mac-scripts til at lave større programmer, kan du bruge dem til at automatisere rutinemæssig computeradfærd. For eksempel, hvis du har en tidskrævende rutine, der tager mange klik, kan du skrive et script og gøre det med kun et.,
Apple sætter det godt i deres Shell Scripting Primer:
at Skrive et shell script er ligesom at køre på cykel. Du falder af og skraber knæene meget i starten. Med lidt mere erfaring bliver du komfortabel med at køre dem rundt i byen, men også hurtigt opdage, hvorfor de fleste kører biler til længere ture.
Shell scripting anses generelt for at være et lim sprog, ideel til at skabe små stykker kode, der forbinder andre værktøjer sammen. Mens shell scripts kan bruges til mere komplekse opgaver, er de normalt ikke det bedste valg.,
at lære at script svarer til at lære et programmeringssprog. Du starter med det grundlæggende og opbygger din viden derfra.
så i denne vejledning vil vi fokusere på byggestenene i scripting. De oplysninger, vi dækker her, vil være nyttige i masser af indstillinger, men vi vil i sidste ende fokusere på, hvordan scripting kan hjælpe dig med at udføre handlinger på flere enheder ved hjælp af en MDM-løsning.
Hvad kan Scripts gøre?
grundlæggende lader scripts dig gøre komplicerede ting hurtigt, præcist og nemt.,
- hurtigt, fordi brug af Mac – scripts i en MDM kan automatisere kedelige opgaver, som at få adgang til et computerprogram på 100 virksomhedsenheder-med nul klik i stedet for 100.
- præcist, fordi et godt script vil udføre en defineret handling på samme måde hver gang-mens du stoler på en person til at fuldføre opgaven manuelt, kan det føre til fejl, inkonsekvens og forvirring.
- let, fordi du kan udføre en virkelig kompliceret og nuanceret opgave med en række enkle scripts, der bryder den ned i mindre stykker.,
brug af Scripts med en MDM-løsning
brug af scripts på egen hånd kan hjælpe dig med at spare tid, men at bruge dem med en MDM-løsning, som vores produkt Kandji, åbner meget mere magt og frihed. Når du har skrevet et script, du kan lide, kan du køre det gennem din MDM-løsning for at anvende det på alle din virksomheds enheder.
hvordan scripts bruges i MDM-løsninger vil variere afhængigt af produktet, men med Kandji kan du bruge dem til at gøre ting som tilpasse tilpasset appinstallation for at imødekomme din virksomheds nøjagtige behov., (Du kan læse vores guide til app-implementering, hvis du har brug for en primer på dette.)
I dette tilfælde, hvis din virksomhed ønsker at installere en tilpasset app på tværs af alle virksomhedens enheder, kan du angive bestemte forudinstallere eller postinstall handlinger ved at føje scripts til deres respektive input bokse (se billedet nedenfor):
Forudinstallere Scripts
Du kan oprette en forudinstallere script, hvis du ønsker at udføre en handling, før installationen opstår., Preinstall scripts bruges generelt til:
- Udfør oprydningsopgaver, der normalt udføres manuelt, før du geninstallerer soft .are, såsom fjernelse af licens, caches, databasefiler og mere.
- Kør konfigurationsfiler. Mange applikationer anvender masseudrulningsindstillinger, der fungerer ved at finde konfigurationsfiler, der er placeret før installationsprogrammet køres. For eksempel kan du bruge et forinstallationsskript til at oprette en bestemt mappe og skrive en fil inde i den mappe, der indeholder en slags identifikator., Når installationen finder sted, finder installationsprogrammet disse oplysninger og bruger dem til automatisk at konfigurere applikationen.
Postinstall Scripts
Du kan også oprette en postinstall script, der er generelt bruges til at konfigurere program-indstillinger, før den software køres. Hvis du vil dele et almindeligt eksempel, kan du bruge et posinstall-script til at konfigurere brugerpræferencer for Google Chrome og sikre, at automatiske opdateringer er konfigureret.,
som du kan forestille dig, giver scripting af denne adfærd dig meget mere kontrol over installationsprocessen, og det kan spare dit IT-team meget tid, hvis de ellers skulle gøre det manuelt.
brugerdefinerede Scripts
Kandji har også en brugerdefineret Scriptfunktion, der giver dig mulighed for at tilføje ethvert script, der understøttes af macOS. Disse Mac-scripts kan køre en gang pr. enhed eller kontinuerligt. Der er også en oprydning script indstilling, som du kan medtage, når det er nødvendigt., Du kan se flere af de tilgængelige indstillinger på Kandjis brugerdefinerede Scriptside nedenfor:
byggesten til Scripting
nu hvor vi har en arbejdsdefinition af, hvilke scripts der er, og ved, hvad de kan udføre, lad os lære, hvordan det hele fungerer. I dette afsnit nedbryder vi nogle af de store byggesten i Mac-scripting, herunder terminalkommandoer, shell-scripts og to almindelige skaller.
Hvad er terminalkommandoer?
Terminal er macOS-kommandolinjegrænsefladen (CLI)., Det giver brugerne mulighed for at foretage avancerede ændringer til deres Mac ved hjælp af kommandoer, som kun er instruktioner til din Mac om, hvad du vil have den til at gøre.
Billedkilde: support.apple.com
et advarselsord, selvom: Terminal er et utroligt kraftfuldt værktøj. Undersøg grundigt og test kommandoer, før du kører dem, og når det er muligt, test med en VM i stedet for en produktionsmaskine.
Når du skriver kommandoer i Terminal, kan du kommunikere med en tolk eller shell. Tolken tager kode og oversætter den til maskinsprog, som operativsystemet kan forstå.,for at åbne Terminal skal du blot klikke på “programmer”, åbne mappen “Hjælpeprogrammer” og derefter dobbeltklikke på appen “Terminal”. Du kan bruge terminalkommandoer til alt, hvad du kan udføre i GUI – og meget mere.,
Her er nogle enkle eksempler på kommandoer:
- Tilføj tekst til et dokument, hvis dokumentet ikke findes, en ny vil blive oprettet)
echo 'Welcome to my document!' > ~/Desktop/myDocument.txt
- Gør en mappe i en bestemt beliggenhed
mkdir ~/Desktop/myFolder
- Flytte et dokument til en bestemt placering
mv ~/Desktop/myDocument.txt ~Desktop/myFolder
- Åbn et dokument fra en bestemt beliggenhed
open ~/Desktop/myFolder/myDocument.txt
Dette er en fantastisk måde at se, hvordan du kan bruge kommandoer til at gøre din Mac udføre visse handlinger, men det er ikke særlig praktisk, hvis du ønsker at udføre en række opgaver., Vi vil se, hvordan scripts gør dette muligt i næste afsnit.
Hvad er Mac Shell Scripts?
selvfølgelig vil tilslutning af terminalkommandoer en efter en blive temmelig kedelig, når du forsøger at udrulle ændringer for hundredvis af virksomhedsejede Mac-enheder. Så i stedet for at udføre individuelle kommandoer som vores eksempel i det sidste afsnit, kan du omdanne alle dine kommandoer til et script – et shell script – der kan køre uden direkte interaktion. Dette gør det lettere at udføre gentagne eller multi-trins processer og samtidig minimere fejl.,
et shell – script er kun en tekstfil, der indeholder UNI.-kommandoer (kommandoer, der taler med dit operativsystem-macOS er et UNI. – baseret operativsystem). Alt hvad du kan gøre med terminalkommandoer, du kan gøre med Mac shell-scripts, bare meget lettere. Du kan endda automatisere shell scripts med værktøjer som launchd.
Kør Shell Script: Mac Terminal
det er faktisk ret nemt at køre et shell script. Hvis vi skulle lave et Mac-script ud af Terminalkommandoerne introduceret ovenfor, skulle vi bare gøre dette:
- Type #!/ bin / bash ind i den første linje., De to første tegn, kaldet en” shebang” (#!), lad Terminal vide, at du skriver et shell script. Resten af linjen angiver, hvilken shell scripts skal køre med. I dette tilfælde er det bash, men du kan også angive “shsh”, som er en anden shell, vi også dækker i næste afsnit.
- Tilføj kommandoerne i et script editor. Ligesom tekstbehandlere er specialiserede til skrivning, er scriptredaktører specialiserede til scripting, gør ting som farvekodningsord i visse funktionelle kategorier og markeringsfejl., Der er mange scriptredaktører derude, men to af de mere populære (og gratis) er Atom og bbedit.
- Gem det som ” myscript.bash ” eller som ethvert andet navn – bare sørg for at du holder filtypen (den del efter perioden) mærket som bash. Ellers vil Terminal ikke kunne køre det korrekt.
- Godkend Terminal til at udføre dit script. Nu skal du bare give Terminal tilladelse til at køre dit script., Kopier og indsæt ikke indholdet – du skal fortælle Terminal for at gøre scriptfilen eksekverbar ved hjælp af kommandoen chmod++, for eksempel:
chmod +x ~/Desktop/myFolder/myscript.bash
- tryk på “enter” for at køre shell script. Mac Terminal vil håndtere resten!
det er det – programmet udfører listen over kommandoer i rækkefølge. Det vil nok ske hurtigere, end du kan følge, men det er bare en anden fordel ved Mac scripting – det er virkelig hurtigt.,
før vi taler om andre ting, du kan gøre med scripts, lad os få et overblik over, hvilke skaller (som “bash”, den vi brugte i dette eksempel) er.
Hvad er skaller?
Når du åbner Terminal, starter systemet et shell-program. Skaller er kommandolinjetolke, som simpelthen betyder, at de tager dine kommandoer og giver dem til operativsystemet til at sætte i gang.
Som standard bruger Mac enten Macsh (shell shell) eller bash (Bourne-again Shell) som shell eller kommandolinjetolk. Din Mac ‘ s standardskal afhænger af den iteration af macOS, du bruger.,
- Macsh (Mac Catalina): hvis du har oprettet en ny brugerkonto på macOS Catalina beta eller nyere, er din standardskal zsh. macOS iterationer før denne brug bash.bash (tidligere macOS): hvis du bruger macOS Mojave og tidligere, er bash din standardskal.
uanset om din konto bruger en bash-eller Macsh Mac-standardskal, kan du ændre den på få trin., Her er hvad du skal gøre:
- Klik på Apple-menuen
- vælg Systemindstillinger >brugere & grupper
- Klik på låsen, og indtast dit kontonavn og din adgangskode.
- Control-klik på dit brugernavn i listen over brugere > Vælg Avancerede Indstillinger
- Kig på “Login-shell” – menuen og vælg en shell
- Klik på OK, når du har fundet den shell du ønsker
Bash vs., Zsh: Mac Scripting
Bash, zsh faktisk har en masse funktioner til fælles, og du kan skifte fra den ene til den anden uden at ramme alt for meget af en indlæringskurve. Så før vi kommer ind på, hvad der gør dem forskellige, lad os se et par steder, hvor de overlapper hinanden.
- Command-kommando: command-kommandoen lader udviklere navigere gennem deres mapper let, hvilket giver dem mulighed for at besøge en nyligt eller ofte besøgt mappe ved at skrive “” ” efterfulgt af katalognavnet., Dette er hurtigere end at skrive den fulde placering, som vi måtte gøre, da vi åbnede dokumentet i terminalkommandosektionen.
- Auto-Completion: begge skaller indeholder også en kommandolinje auto-complete funktion. For at bruge denne funktion skal du bare skrive en kommando, trykke på ” – ” – tasten og derefter trykke på tab. Du vil se en liste over tilgængelige indstillinger for kommandoen, som du kan gå igennem, indtil du finder den ønskede.,
- Automatisk korrektion: begge skaller bruger en form for Automatisk korrektion, men bashs funktion skal først aktiveres, mens bashsh har en indbygget automatisk korrektionsfunktion, der automatisk registrerer små tastefejl.
- farve-tilpasning: Bådeshsh og bash tilbyder en masse farve tilpasningsværktøjer, der gør forståelse script lettere på et øjeblik.
når det kommer til forskelle, har bash været standardskallen for macOS-brugere indtil Catalina, og det er stadig den mest anvendte shell blandt IT-administratorer., Fordi bash har en enorm følgende, Der er en masse ressourcer derude, hvilket gør det godt for begyndere.Bash er en del af Bourne-familien af skaller, en kategori, der også inkluderer sh, ash ,shsh og KSH. Det er fyldt med flere funktioner, end vi realistisk kan liste her, men nogle af dens unikke funktioner omfatter looping, betingede konstruktioner, Tilde og brace udvidelser og aliaser.,
shsh, Mac Catalinas standardskal er på den anden side ikke så populær som bash, men den har stadig et enormt følgende, inklusive open source-rammer som Oh My Catalsh, og er meget rost for dens funktionalitet. Zsh tilbyder nogle unikke funktioner som file globbing, belastbare moduler, stiudvidelse, opstart/shutdo .n scripts og meget mere. I denne vejledning vil vi primært fokusere på bash.
det grundlæggende i Bash
nu hvor vi forstår, hvordan scripts og skaller fungerer, er det tid til at gå over et par tip om scripting med bash., Derefter dykker vi ind i det grundlæggende som at tildele variabler og skrive betingelser.
Ordseparation
en af de første store byggesten til at pakke dit hoved rundt er, hvordan bash bruger ordseparatorer. Mens du ser på eksempler på script, vil du se metategn som ; og &. Disse er blot to af de syv tegn, bash bruger til at adskille ord, mens scripting.
Vi inkluderer en liste over alle syv nedenfor. Når du ser disse, skal du ikke bekymre dig. De holder bare alt organiseret., Som du vil se senere i afsnittet conditionals, afhænger den anvendte type syntaks af, hvad du forsøger at opnå.
- (
- )
- <
- >
- ;
- &
- |
Nyttige Organisation Kommandoer
Bash også giver dig en række af kommandoer, som du kan bruge til at organisere filer. Vi dækkede nogle af disse i Terminal command sektionen, men her er et par flere:
- mkdir (make directory) bruges til at oprette en ny mappe eller mappe.,mv (Flyt) bruges til at flytte en eller flere filer eller mapper til et andet sted.
- rm (Fjern) bruges til at slette filer.
- rmdir (fjern mappe) bruges til at slette en mappe.
Visningskommandoer
Hvis du vil gøre mere end blot at flytte filer rundt, kan du bruge nogle af disse visningskommandoer til at se de oplysninger, filerne indeholder. Her er to af dem:
- cat (concatenate) læser indholdet af en eller flere filer og viser det. Dette er ideelt til kortere filer.,
- mindre er en anden visningskommando, der er fantastisk til visning af længere filer, fordi den kun viser en skærm med information ad gangen og indeholder nyttige navigationsfunktioner til at søge efter bestemte ord eller gå til næste eller forrige side.
Hvad er variabler?
variabler er navngivne pladsholdere, der henviser til en bestemt værdi. Når du indtaster variabelnavnet, behandler systemet det som om du har indtastet den værdi, det refererer til. Du kan navngive variabler ved hjælp af tal, bogstaver, filnavne eller andre typer data.,
variabler gør det lettere at skrive scripts, der bruger specifikke bidder af data-selvom disse data altid ændrer sig, såsom brugernavne. I stedet for at skrive separate kommandoer til flere variationer af brugernavne, kan du bare definere en brugernavnsvariabel og bruge den som pladsholder for alle de variationer, som brugerne kan bruge.
tildeling af variabler er ret nemt at gøre. Du skal bare angive et variabelnavn og en værdi, som sådan:
Variable_Name=value
kapitalisering betyder ikke noget her., Variabelnavnet og værdien kan være næsten hvad du vil, såsom:
x=1
var1=hello
var2=GOODBYE
når det er sagt, er der nogle begrænsninger for, hvilke ord eller tegn du kan bruge til variabler (som vi dækker næste). Men først er det vigtigt at bemærke, at bash ikke bruger mellemrum før eller efter lighedstegnet, mens man tildeler variabler.,
det betyder, at du ikke kan tildele en variabel med mellemrum som denne:
forkert:
x = 1
Du skal tildele den uden mellemrum, sådan her:
korrekt:
x=1
Du kan dog bruge mellemrum i variabler Navne ved at bruge citater, sådan her:
korrekt:
x="Number one"
vi skal også nævne, at du kan bruge et Mac-script til at fortælle terminal at returnere værdien af en variabel til dig. Du kan gøre dette på to måder., I begge eksempler, “x” er en variabel værdi, som du leder efter:
$x
${x}
Du kan også gøre en variabel, der refererer til resultatet af en kommando, f.eks:
variable1=$(Some Bash Command)
Variabel Begrænsninger
Så, hvad er de variable restriktioner, som vi lige har nævnt? Bash har tyve “reserverede ord”, som du ikke kan bruge til variabler, fordi de allerede er tildelt andre vigtige funktioner i skallen., Når du tildele variabler, du bare nødt til at undgå disse ord, og du vil ikke løbe ind i nogen problemer med dit script.
Her er de:
- ! og tid
- ]
- { og }
- hvis, så, elif, else, og fi
- case og esac
- vælg i
- tid, indtil, for at, gøre, og færdig
- funktion
Single vs., Dobbelt citater
'
tekst indkapslet i enkelt citater betyder, at den indeholder strengt den tekst som læst – den giver ikke mening til nogen specialtegn, såsom variabler eller variable begrænsninger.
"
anførselstegn bevarer den bogstavelige værdi af nogle tegn, men det kan indeholde nogle variabler eller tegn med speciel betydning i dem, herunder:
$
'
\
!
betydningen af Den karakter !, inden dobbelte anførselstegn bevares kun, når historien ekspansion er aktiveret, og \ skal efterfølges af en anden specialtegn (eller en ny linje).
Hvad er betingelser?
det næste store skridt i at lære Mac scripting er at finde ud af, hvordan man bruger conditionals. I det væsentlige er betingelser if / then udsagn, som sætter betingelser og derefter ser om de bliver opfyldt (dvs.hvis det er 6am, så sig “god morgen”).
i bash ser syntaksen af if/then-udsagn sådan ud:
if <condition>; then
<command(s)>
fi
lad os bryde det ned.,
- Start med “hvis” og følg det straks med dets betingelser.
- brug et semikolon til at adskille tilstanden “hvis” og begynde kommandoen “derefter”. Denne kommando finder kun sted, hvis betingelsen “hvis” er opfyldt.
- endelig skal du lukke if / then-sætningen med” fi “– Dette er bare” hvis ” stavet bagud.
Her er et eksempel:
if ; then
echo "That number is greater than or equal to 4"
fi
Her, vi kontrollere at se, om et nummer, for 5 er større end eller lig med (det er den “-ge”) anden række, 4., Hvis det er tilfældet, udføres kommandoen “derefter”, hvilket beder os om en meddelelse: “Dette tal er større end eller lig med 4.”Forestil dig, hvordan ændring af 5 og brug af en variabel i stedet kunne forbedre funktionaliteten af dette script.
når du har fået fat i disse udsagn, kan du lære at bruge “andet” til at give dine kommandoer en alternativ handling i tilfælde af, at “hvis” – betingelserne ikke er opfyldt. For mere komplicerede kommandoer kan du endda bruge “elif” (ellers hvis) til at tilføje betingelser til “andet” uden kedeligt at omskrive flere “andet” betingelser.,
Scripting med MDM-løsninger
ligesom at bruge Mac-scripts kan gøre individuelle terminalkommandoer mere kraftfulde, ved hjælp af scripts med din MDM-løsning kan du få dit fulde styringspotentiale frem.
uanset om du bruger vores brugerdefinerede Scriptfunktion eller specificerer adfærd før og efter installation til brugerdefinerede apps, kan scripting med en MDM lade dig udføre masser af avancerede enhedshåndteringshandlinger.,
jeg håber, du har lært, som du kan bruge scripts til at fuldføre flere trin opgaver hurtigere og mere præcist – og at du kan script avancerede politikker og sende dem til alle din virksomheds enheder ved hjælp af en MDM løsning, som Kandji.
ud over at sætte dine scripts i aktion, Kandji har masser af andre fantastiske funktioner som one-click overholdelse af større sikkerhed benchmarks og deploymentero-touch implementering. Det er alt, hvad din virksomhed har brug for for at styre din flåde fra implementering til pensionering.