![Facebook își va schimba numele pentru a se concentra pe Metaverse](/f/14375443d43bc1e5529673897ce287e7.jpg?width=100&height=100)
În Linux, scripturile shell ne ajută în atât de multe moduri diferite, inclusiv de performanță sau chiar automatizarea anumitor sarcini de administrare a sistemului, creând instrumente simple de linie de comandă și multe altele.
În acest ghid, vom arăta noilor utilizatori Linux unde să stocheze în mod fiabil script-urile shell personalizate, să explice cum să scrie funcții și biblioteci shell personalizate, să utilizeze funcții din biblioteci în alte scripturi.
Pentru a rula scripturile fără a tasta o cale completă / absolută, acestea trebuie stocate într-unul din directoarele din $ PATH variabilă de mediu.
Pentru a verifica $ PATH, lansează comanda de mai jos:
$ echo $ PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games.
În mod normal, dacă directorul cos există într-un director de acasă al utilizatorilor, acesta este inclus automat în el / ei $ PATH. Puteți stoca scripturile shell aici.
Prin urmare, creați cos director (care poate stoca, de asemenea Perl, Awk sau Piton scripturi sau orice alte programe):
$ mkdir ~ / bin.
Apoi, creați un director numit lib (prescurtare pentru biblioteci) unde vă veți păstra propriile biblioteci. De asemenea, puteți păstra biblioteci pentru alte limbi, cum ar fi C, Python și așa mai departe, în ea. Sub el, creați un alt director numit SH; acest lucru vă va stoca în special bibliotecile shell:
$ mkdir -p ~ / lib / sh
A funcția shell este un grup de comenzi care efectuează o sarcină specială într-un script. Funcționează similar procedurilor, subrutinelor și funcțiilor din alte limbaje de programare.
Sintaxa pentru scrierea unei funcții este:
nume_funcție () {listă de comenzi}
De exemplu, puteți scrie o funcție într-un script pentru a afișa fișierul Data după cum urmează:
showDATE () {date;}
De fiecare dată când doriți să afișați Data, pur și simplu invocați funcția de mai sus folosind numele său:
$ showDATE.
A biblioteca shell este pur și simplu un script shell, cu toate acestea, puteți scrie o bibliotecă pentru a stoca numai funcțiile pe care le puteți apela ulterior din alte scripturi shell.
Mai jos este un exemplu de bibliotecă numită libMYFUNCS.sh in al meu ~ / lib / sh director cu mai multe exemple de funcții:
#! / bin / bash #Funcție de listare clară a directoarelor în PATH showPATH () {oldifs = "$ IFS" #store separator de câmp intern vechi IFS =: #specificați un nou separator de câmp intern pentru DIR în $ PATH; ecou $ DIR; done IFS = "$ oldifs" #restați vechiul separator de câmp intern. } #Funcție de afișare a utilizatorului conectat. showUSERS () {echo -e „Mai jos se află utilizatorul conectat la sistem: \ n” w. } #Printați detaliile unui utilizator printUSERDETS () {oldifs = "$ IFS" #store separator de câmp intern vechi IFS =: #specificați un nou separator de câmp intern citit -p "Introduceți numele de utilizator de căutat: "uname #citește numele de utilizator echo" "#citește și stochează dintr-un șir aici valori în variabile folosind: ca delimitator de câmp citit -r nume de utilizator trece uid gid comentarii homedir shell <<< "$ (cat / etc / passwd | grep" ^ $ uname ")" #print out valori capturate echo -e "Nume utilizator este: $ nume utilizator \ n" echo -e "ID utilizator: $ uid \ n "ecou -e "GID-ul utilizatorului: $ gid \ n" echo -e "Comentariile utilizatorului: $ comentarii \ n" echo -e "Pagina principală a utilizatorului: $ homedir \ n" echo -e "Shell-ul utilizatorului: $ shell \ n" IFS = "$ oldifs "#store vechi intern separator de câmp. }
Salvați fișierul și faceți scriptul executabil.
Pentru a utiliza o funcție într-un lib, trebuie să includeți mai întâi lib în scriptul shell unde va fi utilizată funcția, în formularul de mai jos:
$ ./path/to/lib. SAU. $ sursă / cale / către / lib.
Deci, ați folosi funcția printUSERDETS din lib ~ / lib / sh / libMYFUNCS.sh într-un alt script așa cum se arată mai jos.
Nu trebuie să scrieți alt cod în acest script pentru a imprima detaliile unui anumit utilizator, pur și simplu apelați o funcție existentă.
Deschideți un fișier nou cu numele test.sh:
#! / bin / bash #include lib.. ~ / lib / sh / libMYFUNCS.sh #use funcția din lib. printUSERDETS #exit script. ieșire 0.
Salvați-l, apoi faceți scriptul executabil și rulați-l:
$ chmod 755 test.sh. $ ./test.sh
În acest articol, v-am arătat unde să stocați în mod fiabil scripturile shell, cum să scrieți propriile funcții shell și biblioteci, să invocați funcții din biblioteci în scripturile shell normale.
În continuare, vom explica un mod direct de configurare Vim ca un IDE pentru scriptarea Bash. Până atunci, rămâneți întotdeauna conectat la TecMint și, de asemenea, împărtășiți-vă părerile despre acest ghid prin intermediul formularului de feedback de mai jos.