În acest ghid prietenos pentru începători, vă vom parcurge blocurile de construcție ale Scripturilor Mac și apoi vom vedea cum utilizarea scripturilor cu soluția dvs. de gestionare a dispozitivelor mobile (MDM) o poate ajuta să gestioneze mai eficient dispozitivele deținute de companie.
Iată o scurtă trecere în revistă a unora dintre subiectele pe care le vom acoperi:
- ce sunt scripturile?
- folosind scripturi cu o soluție MDM
- Comenzi terminale vs. scripturi Shell
- ce sunt Shell-urile: Bash vs. Zsh?,
- bazele de Scripting cu Bash
ce sunt scripturile?
Scripturile sunt mici programe de calculator care colectează o serie de comenzi într-un singur fișier. În timp ce tastați comenzi în terminalul Apple se face de obicei unul câte unul, cu un script, puteți executa o listă lungă de comenzi cu o singură interacțiune.
deși de obicei nu folosești scripturi Mac pentru a crea programe mai mari, le poți folosi pentru a automatiza comportamentele de rutină ale computerului. De exemplu, dacă aveți o rutină consumatoare de timp care necesită multe clicuri, puteți scrie un script și o puteți face doar cu unul.,
Apple pune bine în Primer lor Shell Scripting:
scrierea unui script shell este ca mersul pe bicicletă. Ai căzut și ți-ai zgâriat mult genunchii la început. Cu un pic mai multă experiență, devii confortabil călărindu-i prin oraș, dar, de asemenea, descoperi rapid de ce majoritatea oamenilor conduc mașini pentru călătorii mai lungi.Shell scripting este în general considerat a fi un limbaj adeziv, ideal pentru crearea de bucăți mici de cod care conectează alte instrumente împreună. În timp ce scripturile shell pot fi utilizate pentru sarcini mai complexe, acestea nu sunt de obicei cea mai bună alegere.,
învățarea scriptului este similară cu învățarea unui limbaj de programare. Începeți cu elementele de bază și construiți-vă cunoștințele de acolo.
Deci, în acest ghid, ne vom concentra pe blocurile de scripting. Informațiile pe care le acoperim aici vor fi utile în multe setări, dar în cele din urmă ne vom concentra pe modul în care scriptarea vă poate ajuta să efectuați acțiuni pe mai multe dispozitive folosind o soluție MDM.
ce pot face scripturile?
în esență, Scripturile vă permit să faceți lucruri complicate rapid, precis și ușor.,
- rapid, deoarece utilizarea scripturilor Mac într – un MDM poate automatiza sarcini plictisitoare, cum ar fi accesarea unui program de calculator pe 100 de dispozitive ale companiei-cu zero clicuri în loc de 100.
- cu exactitate, deoarece un script bun va executa o acțiune definită în același mod de fiecare dată – în timp ce încrederea unei persoane pentru a finaliza manual sarcina ar putea duce la erori, inconsecvență și confuzie.
- cu ușurință, deoarece puteți realiza o sarcină cu adevărat complicată și nuanțată cu o serie de scripturi simple care o descompun în bucăți mai mici.,
utilizarea scripturilor cu o soluție MDM
utilizarea scripturilor pe cont propriu vă poate ajuta să economisiți timp, dar utilizarea lor cu o soluție MDM, precum produsul nostru Kandji, deschide mult mai multă putere și libertate. După ce scrieți un script care vă place, îl puteți rula prin soluția MDM pentru a-l aplica tuturor dispozitivelor companiei dvs.
Cum de script-uri sunt utilizate în MDM solutions va diferi în funcție de produs, dar cu Kandji le puteți folosi pentru a face lucruri cum ar fi personaliza app personalizate de instalare pentru a satisface companiei nevoile exacte., (Puteți citi ghidul nostru pentru implementarea aplicațiilor dacă aveți nevoie de un primer în acest sens.)
În acest caz, dacă afacerea dumneavoastră vrea să instaleze o aplicație personalizată pe toate dispozitivele companiei, ai putea specifica anumite preinstalați sau postinstall acțiuni prin adăugarea de script-uri de la propriile lor cutii de intrare (a se vedea în imaginea de mai jos):
Preinstalați Script-uri
puteți crea un preinstalați script dacă doriți să efectuați o acțiune înainte de instalare apare., Scripturile preinstalare sunt utilizate în general pentru:
- efectuați sarcini de curățare care în mod normal ar fi efectuate manual înainte de reinstalarea software-ului, cum ar fi eliminarea licențelor, cache-urilor, fișierelor bazei de date și multe altele.
- rulați fișiere de configurare. Multe aplicații folosesc opțiuni de implementare în masă care funcționează prin găsirea fișierelor de configurare plasate înainte de rularea programului de instalare. De exemplu, puteți utiliza un script preinstalat pentru a crea un anumit folder și pentru a scrie un fișier în acel folder care conține un fel de identificator., Când are loc instalarea, instalatorul găsește aceste informații și le folosește pentru a configura automat aplicația.
Postinstall Script-uri
de asemenea, puteți crea un postinstall script-ul, care este folosit în general pentru a configura preferințele aplicației înainte de software-ul este rulat. Pentru a partaja un exemplu comun, puteți utiliza un script posinstall pentru a configura preferințele utilizatorului pentru Google Chrome și pentru a vă asigura că sunt configurate actualizările automate.,după cum vă puteți imagina, scriptarea acestor comportamente vă oferă mult mai mult control asupra procesului de instalare și vă poate salva echipa IT mult timp dacă ar trebui să o facă manual altfel.
scripturi personalizate
Kandji are, de asemenea, o caracteristică de Script personalizat care vă permite să adăugați orice script acceptat de macOS. Aceste scripturi Mac pot rula o dată pe dispozitiv sau continuu. Există, de asemenea, o opțiune de script de remediere pe care o puteți include atunci când este necesar., Puteți vedea mai multe dintre opțiunile disponibile pe Kandji e Script Personalizat pagina de mai jos:
Blocuri de Scripting
Acum, că avem o definiție de lucru a ceea ce scripturile sunt și știu ce le poate realiza, să învețe cum funcționează. În această secțiune, vom descompune unele dintre principalele blocuri de construcție ale Scripturilor Mac, inclusiv comenzile terminale, scripturile shell și două shell-uri comune.
ce sunt comenzile terminale?
Terminal este interfața liniei de comandă macOS (CLI)., Acesta permite utilizatorilor să facă modificări avansate la Mac lor folosind comenzi, care sunt doar instrucțiuni pentru Mac cu privire la ceea ce doriți să facă.
sursa imaginii: support.apple.com
un cuvânt de avertizare, totuși: Terminal este un instrument incredibil de puternic. Cercetați temeinic și testați comenzile înainte de a le rula și, dacă este posibil, testați cu un VM în locul unei mașini de producție.
când tastați comenzi în Terminal, vă permite să comunicați cu un interpretor sau shell. Interpretul ia codul și îl traduce în limbajul mașinii pe care sistemul de operare îl poate înțelege.,pentru a deschide terminalul, trebuie doar să faceți clic pe „aplicații”, deschideți folderul „utilități”, apoi faceți dublu clic pe aplicația „Terminal”. Puteți utiliza comenzile terminale pentru orice puteți realiza în GUI-și multe altele.,
Aici sunt câteva exemple de comenzi:
- Adăugați text într-un document (dacă documentul nu există, unul nou va fi creat)
echo 'Welcome to my document!' > ~/Desktop/myDocument.txt
- Asigurați-un folder într-o anumită locație
mkdir ~/Desktop/myFolder
- trece un document de la o anumită locație
mv ~/Desktop/myDocument.txt ~Desktop/myFolder
- de a Deschide un document dintr-o anumită locație
open ~/Desktop/myFolder/myDocument.txt
Aceasta este o modalitate foarte bună de a vedea cum puteți utiliza comenzi pentru a face Mac-ul tău efectua anumite comportamente, dar nu este foarte practic dacă doriți să efectuați o serie de sarcini., Vom vedea cum scripturile fac acest lucru posibil în secțiunea următoare.
ce sunt scripturile Shell pentru Mac?desigur, conectarea comenzilor terminale unul câte unul va deveni destul de obositoare atunci când încercați să implementați modificări pentru sute de dispozitive Mac deținute de companie. Deci, în loc să executați comenzi individuale precum exemplul nostru din ultima secțiune, puteți transforma toate comenzile într – un singur script – un script shell-care poate rula fără interacțiune directă. Acest lucru facilitează executarea proceselor repetate sau în mai multe etape, reducând în același timp eroarea.,
un script shell este doar un fișier text care conține comenzi UNIX (comenzi care vorbesc cu sistemul dvs. de operare – macOS este un sistem de operare bazat pe UNIX). Tot ce se poate face cu comenzi terminale puteți face cu script-uri shell Mac, doar mult mai ușor. Puteți chiar să automatizați scripturile shell cu instrumente precum launchd.
Run Shell Script: Mac Terminal
este de fapt destul de simplu pentru a rula un script shell. Dacă ar fi să facem un script Mac din comenzile terminale introduse mai sus, ar trebui doar să facem acest lucru:
- Type #!/ bin / bash în prima linie., Primele două personaje, numite „shebang” (#!), anunță terminalul că tastezi un script shell. Restul liniei specifică cu ce shell ar trebui să ruleze scripturile. În acest caz, este bash, dar puteți specifica și „zsh”, care este o altă coajă pe care o vom acoperi și în secțiunea următoare.
- adăugați comenzile într-un editor de script. La fel cum procesoarele de text sunt specializate pentru scriere, editorii de scripturi sunt specializați pentru scripting, făcând lucruri precum cuvinte de codare a culorilor din anumite categorii funcționale și erori de semnalizare., Există o mulțime de editori de scripturi acolo, dar două dintre cele mai populare (și gratuite) sunt Atom și bbedit.
- salvați-l ca ” myscript.bash ” sau ca orice alt nume-asigurați-vă că păstrați extensia de fișier (partea după perioadă) etichetată ca bash. În caz contrar, terminalul nu va putea să-l ruleze corect.
- Authorize Terminal pentru a executa script-ul. Acum trebuie doar să acordați permisiunea terminalului pentru a rula scriptul., Nu copiați și lipiți conținutul – trebuie să spuneți Terminal pentru a face fișierul script executabil folosind comanda chmod +x, de exemplu:
chmod +x ~/Desktop/myFolder/myscript.bash
- apăsați „enter” pentru a rula shell script. Terminalul Mac se va ocupa de restul!
asta este – programul va executa lista de comenzi în ordine. Probabil se va întâmpla mai repede decât puteți urma, dar acesta este doar un alt beneficiu al scriptării Mac – este foarte rapid.,
înainte de a vorbi despre alte lucruri pe care le puteți face cu scripturile, să facem o imagine de ansamblu asupra a ceea ce sunt shell-urile (cum ar fi „bash”, cel pe care l-am folosit în acest exemplu).
ce sunt scoicile?
când deschideți terminalul, sistemul lansează un program shell. Shell-urile sunt interpreți de linie de comandă care, pur și simplu, înseamnă că vă iau comenzile și le dau sistemului de operare pentru a le pune în acțiune.
în mod implicit, Mac folosește fie zsh (z shell) sau bash (Bourne-again Shell) ca shell sau interpretor de linie de comandă. Shell-ul implicit al Mac-ului dvs. va depinde de iterația macOS pe care o utilizați.,
- zsh (Mac Catalina): dacă ai creat un cont de utilizator nou pe macOS Catalina beta sau o versiune ulterioară, shell-ul implicit este zsh. iterații macOS înainte de această utilizare bash.
- bash( macOS anterior): dacă folosești macOS Mojave și versiuni anterioare, atunci bash este shell-ul implicit.
indiferent dacă contul dvs. utilizează un shell implicit bash sau zsh Mac, îl puteți schimba în doar câțiva pași., Iată ce trebuie să faci:
- faceți Clic pe meniul Apple
- Alegeți System Preferences > Utilizatori & Grupuri
- faceți Clic pe de blocare și introduceți numele de cont și parola.
- Control-clic pe numele de utilizator în lista de utilizatori > Alegeți Opțiunile Avansate
- Uita-te la „Login shell” meniu și alegeți o coajă
- faceți Clic pe OK când ați găsit shell vrei
Bash vs, Zsh: Mac Scripting
Bash și zsh au de fapt o mulțime de caracteristici în comun și puteți trece de la unul la altul fără să atingeți prea mult o curbă de învățare. Deci, înainte de a intra în ceea ce le face diferite, să vedem câteva locuri în care se suprapun.
- Z Command: comanda Z permite dezvoltatorilor să navigheze prin directoarele lor cu ușurință, oferindu-le posibilitatea de a vizita un director vizitat recent sau frecvent tastând „z” urmat de numele directorului., Acest lucru este mai rapid decât tastarea locația completă ca am avut de a face atunci când am deschis documentul în secțiunea de comandă terminal.
- Completare automată: ambele cochilii includ, de asemenea, o caracteristică de completare automată a liniei de comandă. Pentru a utiliza această caracteristică, trebuie doar să tastați o comandă, apăsați tasta” -„, apoi apăsați tab. Veți vedea o listă de opțiuni disponibile pentru comandă, pe care o puteți parcurge până când o găsiți pe cea dorită.,
- Auto-corecție: ambele shell-uri folosesc o formă de auto-corecție, dar caracteristica bash trebuie să fie activată mai întâi în timp ce zsh are o caracteristică de auto-corectare încorporată care va detecta automat greșeli mici.
- personalizare culoare: atât zsh cât și bash oferă o mulțime de instrumente de personalizare a culorilor care facilitează înțelegerea scriptului dintr-o privire.
când vine vorba de diferențe, bash a fost shell-ul implicit pentru utilizatorii macOS până la Catalina și este încă cel mai utilizat shell în rândul administratorilor IT., Deoarece bash are un text imens, există o mulțime de resurse acolo, ceea ce face mare pentru incepatori.Bash face parte din familia Bourne de scoici, o categorie care include, de asemenea, SH, frasin, zsh și ksh. Este încărcat cu mai multe caracteristici decât putem enumera în mod realist aici, dar unele dintre funcțiile sale unice includ looping, construcții condiționate, extinderi tilde și bretele și aliasuri.,
Zsh, shell-ul implicit al Mac Catalina, pe de altă parte, nu este la fel de popular ca bash, dar are încă un text imens, inclusiv cadre open source, cum ar fi Oh My Zsh, și este lăudat pe scară largă pentru funcționalitatea sa. Zsh oferă câteva caracteristici unice, cum ar fi globbing de fișiere, module încărcabile, extinderea căii, scripturi de pornire/oprire și multe altele. În acest ghid, ne vom concentra în primul rând pe bash.
elementele de bază ale Bash
acum că înțelegem cum funcționează scripturile și shell-urile, este timpul să parcurgem câteva sfaturi despre scripting cu bash., După aceea, ne vom scufunda în elementele de bază, cum ar fi atribuirea variabilelor și scrierea condiționalelor. unul dintre primele blocuri majore pentru a vă înfășura capul este modul în care bash folosește separatoare de cuvinte. În timp ce vă uitați la exemple de script, veți vedea metacaractere precum ; și &. Acestea sunt doar două dintre cele șapte caractere pe care bash le folosește pentru a separa cuvintele în timp ce scriptează.
vom include o listă cu toate cele șapte de mai jos. Când vezi astea, nu-ți face griji. Țin totul organizat., După cum veți vedea mai târziu în secțiunea condiționări, tipul de sintaxă utilizat depinde de ceea ce încercați să realizați.
- (
- )
- <
- >
- ;
- &
- |
Utile Organizației Comenzi
Bash, de asemenea, vă oferă o serie de comenzi pe care le puteti utiliza pentru a organiza fișierele. Am acoperit unele dintre acestea în secțiunea Terminal command, dar aici sunt câteva:
- mkdir (make directory) este folosit pentru a crea un nou director sau folder.,
- mv (move) este folosit pentru a muta unul sau mai multe fișiere sau directoare într-un alt loc.
- rm (remove) este utilizat pentru a șterge fișierele.
- rmdir (remove directory) este folosit pentru a șterge un director.
comenzi de vizualizare
Dacă doriți să faceți mai mult decât să mutați fișiere, puteți utiliza unele dintre aceste comenzi de vizualizare pentru a vedea informațiile pe care le conțin fișierele. Iată două dintre ele:
- cat (concatenate) citește conținutul unuia sau mai multor fișiere și îl afișează. Acest lucru este ideal pentru fișiere mai scurte.,
- mai puțin este o altă comandă de vizualizare care este excelentă pentru vizualizarea fișierelor mai lungi, deoarece afișează un singur ecran de informații simultan și include funcții utile de navigare pentru a căuta anumite cuvinte sau pentru a merge la pagina următoare sau anterioară.
ce sunt variabilele?
variabilele sunt numite substituenți care se referă la o anumită valoare. Când tastați numele variabilei, sistemul o tratează ca și cum ați tastat valoarea la care se referă. Puteți numi variabile folosind numere, litere, nume de fișiere sau alte tipuri de date.,
variabilele facilitează scrierea de scripturi care utilizează anumite bucăți de date-chiar dacă aceste date se schimbă mereu, cum ar fi numele de utilizator. În loc să scrieți comenzi separate pentru mai multe variante de nume de utilizator, puteți defini doar o variabilă de nume de utilizator și să o utilizați ca înlocuitor pentru toate variațiile pe care utilizatorii le-ar putea utiliza.
atribuirea variabilelor este destul de ușor de făcut. Trebuie doar să specificați un nume de variabilă și o valoare, cum ar fi:
Variable_Name=value
Capitalizarea nu contează aici., Numele variabilei și valoarea poate fi orice doriți, cum ar fi:
x=1
var1=hello
var2=GOODBYE
Asta a spus, există unele restricții cu privire la ce cuvinte sau caractere pe care le puteți utiliza pentru variabile (despre care vom vorbi în continuare). Dar mai întâi, este important să rețineți că bash nu utilizează spații înainte sau după semnul egal în timp ce atribuie variabile.,
Asta înseamnă că nu se poate atribui unei variabile cu spații, astfel:
Incorecte:
x = 1
trebuie să atribui, fără spații, astfel:
Corect:
x=1
cu toate Acestea, puteți folosi spații în nume de variabile folosind citate, astfel:
Corect:
x="Number one"
ar trebui să menționeze, de asemenea, că puteți folosi un Mac script pentru a spune Terminal pentru a returna valoarea unei variabile pentru tine. Puteți face acest lucru în două moduri., În ambele exemple, „x” este valoarea variabilei care sunteți în căutarea pentru:
$x
${x}
puteți face, de asemenea, o variabilă se referă la rezultatul de o comandă, cum ar fi:
variable1=$(Some Bash Command)
Variabila Restricții
Deci, ce sunt acele variabile restricții tocmai am menționat? Bash are douăzeci de „cuvinte rezervate” pe care nu le puteți utiliza pentru variabile, deoarece acestea sunt deja atribuite altor funcții importante din shell., Ori de câte ori atribuiți variabile, trebuie doar să evitați aceste cuvinte și nu veți avea probleme cu scriptul.
aici sunt:
- ! și timpul
selectați și în
- în timp ce, până, Pentru, face, și făcut
- funcția
singur vs., Ghilimele duble
'
Text încapsulate în ghilimele simple mijloace conține strict acel mesaj ca citit – nu va da un sens la orice caractere speciale, cum ar fi variabile sau variabile restricții.ghilimelele duble păstrează valoarea literală a unor caractere, dar pot conține unele variabile sau caractere cu semnificație specială în ele, inclusiv:
$
'
\
!
sensul personajului !, în ghilimele duble se păstrează numai atunci când este activată extinderea istoriei și \ trebuie urmată de un alt caracter special (sau o linie nouă).
ce sunt condițiile?
următorul pas important în învățarea scripturilor Mac este să vă dați seama cum să utilizați Condiționalele. În esență, Condiționalele sunt declarații if/then, care stabilesc condițiile și apoi văd dacă sunt îndeplinite (adică dacă este 6am, atunci spuneți „Bună dimineața”).
în bash, sintaxa declarațiilor if/then arată astfel:
if <condition>; then
<command(s)>
fi
să descompunem asta.,
- începeți cu „dacă” și urmați-l imediat cu condițiile sale.
- folosiți punct și virgulă pentru a separa condiția ” IF „și a începe comanda” THEN”. Această comandă va avea loc numai dacă condiția „dacă” este îndeplinită.
- în cele din urmă, închideți instrucțiunea if/then Cu „fi” – aceasta este doar „dacă” scris înapoi.
Iată un exemplu:
if ; then
echo "That number is greater than or equal to 4"
fi
aici, verificăm dacă un număr, 5, este mai mare sau egal cu (acesta este „-ge”) un alt număr, 4., Dacă este, comanda „atunci „va fi executată, solicitându-ne cu un mesaj:” Acest număr este mai mare sau egal cu 4.”Imaginați-vă cum schimbarea 5 și utilizarea unei variabile în schimb ar putea îmbunătăți funcționalitatea acestui script.odată ce obțineți aceste declarații, puteți învăța cum să utilizați „else” pentru a da comenzilor Dvs. o acțiune alternativă în cazul în care condițiile „if” nu sunt îndeplinite. Pentru comenzi mai complicate, puteți folosi chiar și ” elif „(else if) pentru a adăuga condiții la” else „fără a rescrie în mod obositor mai multe condiții” else”.,
Scripting cu soluții MDM
la fel ca folosind script-uri Mac poate face comenzi terminale individuale mai puternice, folosind script-uri cu soluția MDM poate scoate la maxim potențialul de management.indiferent dacă utilizați funcția noastră de Script personalizat sau specificați comportamente pre și postinstalare pentru aplicații personalizate, scriptarea cu un MDM vă poate permite să realizați o mulțime de acțiuni avansate de gestionare a dispozitivelor.,sperăm că ați învățat că puteți utiliza scripturi pentru a finaliza sarcinile în mai multe etape mai rapid și mai precis-și că puteți scrie politici avansate și le puteți trimite pe toate dispozitivele companiei dvs. folosind o soluție MDM, cum ar fi Kandji.dincolo de punerea scripturilor în acțiune, Kandji are o mulțime de alte caracteristici excelente, cum ar fi respectarea cu un singur clic a valorilor de referință majore de securitate și implementarea zero-touch. Este tot ceea ce afacerea dvs. are nevoie pentru a vă gestiona flota, de la implementare până la pensionare.