Exemple de proceduri de coajă

Reguli de creare a directoarelor

Pentru fiecare procedură, trebuie să faceți următoarele:

1. Creați un fișier cu numele procedurii și scrieți-l acolo.

2. Schimbați permisiunile fișierului cu comanda chmod.







3. Deplasați fișierul în directorul în care sunt stocate comenzile, de exemplu, în coșul de gunoi.

4. Asigurați-vă că variabila PATH are numele directorului bin.

5. Executați comanda specificată.

ls / bin / usr / bin sortare | uniq -d

Această procedură determină care fișiere cu același nume sunt în directoarele / bin și / usr / bin. Fișierele din directorul / bin în cele mai multe cazuri înlocuiesc aceleași fișiere din directorul / usr / bin.

# Copiază fișierul1 la fișierul 2, fișierul3 la fișierul4.

în timp ce încercați "$ 2"! = ""

dacă testul "$ 1"! = ""

apoi echo "$ 0: număr impar de argumente"> 2

În această procedură, vom arăta cum să folosim bucla în timp ce procesăm o listă de parametri poziționali care sunt în mod specific legați între ei. Aici, buclă în timp este preferabilă față de buclă for, deoarece puteți utiliza comanda de schimbare pentru a ajusta parametrii poziționali pentru a face față argumentelor asociate.

# Copiază fișierele listate în directorul "dir"

# cu condiția ca cel puțin două

# argumente care "dir" este un director,

# și că fiecare argument ulterior

# este un fișier care poate fi citit.

apoi echo "$ 0: $ 1 nu este un director";> 2

alt dir = $ 1; schimbare

face cp $ eachfile $ dir

Această procedură utilizează comanda if pentru a afișa mesaje despre utilizarea incorectă a procedurii. Buclele pentru sfârșitul procedurii examinează toate argumentele, cu excepția primei.

# Citește intrarea standard și afișează o listă

# șiruri alfanumerice care diferă numai

# dimensiunea literelor, reprezentând-le într-o formă mică

tr -cs 'A-Za-z0-9' '\ 012' | sort -u | \

tr 'A-Z' 'a-z' sortare | uniq -d







Această procedură este un exemplu al procesului creat de conducte. \ La sfârșitul primei linii înseamnă că următoarea linie este o continuare. La prima vedere, pare neclar cum funcționează această echipă. Principiile comenzilor tr, sortare și uniq pot fi găsite în Referința utilizatorului. Comanda tr convertește toate caracterele, cu excepția literelor și cifrelor, la caractere "noi linii", apoi compactează caracterele duplicat. Ca urmare, fiecare set de litere va apărea pe o linie separată. Comanda de sortare sortează rânduri și lasă doar o singură linie din orice succesiune de rânduri duplicat. Următoarea comandă tr convertește toate literele în litere mici, ceea ce face ca identificatorii care diferă numai în mărimea literelor să fie identici. Rezultatul este sortat din nou, toate duplicatele sunt colectate împreună. Comanda "uniq -d" generează o listă de șiruri care apar mai mult de o dată în text.

Procesul de construire a unei astfel de conducte se bazează pe faptul că canalele și fișierele pot fi schimbate. Prima dintre următoarele linii este echivalentă cu cele două, dacă există suficient spațiu pe disc:

cmd1 | cmd2 | CMD3

cmd1> temp1; Temp2;

Prin trimiterea unui fișier de test la intrarea standard și pornirea comenzilor de la stânga la dreapta, vom crea o conductă în care fiecare comandă citește datele din fișierul anterior și scrie rezultatul la fișierul următor. Scopul este de a crea o serie de transformări care transformă datele originale în rezultatul dorit.

# Format: proiect (e) fișier (e)

# Afișați paginile de pe imprimantă.

face nroff -man $ i | LPR

Un exemplu de utilizare a steagurilor explicite care nu au valori implicite.

# Format: fișierul edfind arg

# Se caută ultima apariție a unei linii în fișierul "file"

# începând cu substringul "arg", după care

# imprimă 3 linii (anterioare, găsite,

O ilustrare a utilizării comenzii ed pentru a edita codul sursă în care Shell efectuează înlocuirea valorilor variabilelor.

# Format: fișier edlast

# Afișează ultima linie a fișierului

apoi faceți clic pe fișierul "$ 0: Utilizare: $ 0 [-s]"

fișier $ * | fgrep "text" sed 's /:. * /'

Pentru a determina ce fișiere din director conțin doar informații textuale, fișierul text filtrează listele de argumente pentru celelalte comenzi. De exemplu, următoarea linie de comandă va imprima toate fișierele text din directorul curent:

fișierul ` LPR

Procedura folosește flagul -s, care extrage fișiere text din listă.

# Format: scriere mesaj utilizator

# În cazul în care utilizatorul sa înregistrat,

# mesajul este trimis către terminal;

# altfel, este trimis utilizatorului.

Ilustrație folosind comanda echipei. Mesajul, denumit "$ 1", este transmis comenzii de scriere și, dacă ultimul eșuează, comanda de e-mail.







Articole similare

Trimiteți-le prietenilor: