This is an old revision of the document!


Concepte

Pentru acest laborator vom folosi comenzi și noțiuni prezentate în laboratoarele de până acum în special laboratorul trecut (Laborator 05: Interfața în linia de comandă). Vor fi puține comenzi nou introduse; cel mai mult ne va interesa cum dându-se o situație practică vom putea folosi shell-ul pentru automatizare.

Automatizarea sarcinilor se referă la delegarea / degrevarea acțiunilor utilizatorilor către programe în sistemul de calcul. Un program va face automat, de sine stătător, acțiuni pe care le-ar face utilizatorul, rezultând în timp mai puțin consumat de utilizator.

Acțiunile care sunt candidate pentru automatizare sunt în general acțiuni repetitive, nu foarte simple și neinteractive. Automatizarea acestora va elibera utilizator de la executarea repetată, plictisitoare, manuală a acestora.

Perspective pentru automatizare

eficiență, să facem rapid acțiuni repetitive

automatizare, executare cu minimă interacțiune din partea utilizatorului

nu reinventăm roata, folosim componente deja existente

eficiență: * keyboard shortcuts * TAB, history search * alias-uri * globbing * expresii regulate

folosire componente existente * pipe-uri * shell expansion * one-linere * more than one way to skin the cat * unele comenzi au parametri, nu e nevoie de pipe-uri

eficiență și automatizare: * scripturi simple, Makefile-uri * două cazuri: înlănțuire și prelucrare

Scripting

în general NU folosim shell scripting pentru: prelucrări numerice, prelucrări de șiruri (poate bonus ceva cu Python)

Funcționalități shell

reamintim: pipe-uri, filtre de text, variabile shell

ce acoperim NOU în acest laborator: expresii regulate, argumente în linia de comandă, for, while, if

Automatizarea prin shell scripting

înlănțuire de comenzi

configurare scripturi: variabile, argumente în linia de comandă

condiții

bucle, parcurgere liste de elemente

înlănțuire fluxuri text: pipe, command expansion, redirectări

uso/laboratoare/new/06-auto/concepts.1572963409.txt.gz · Last modified: 2019/11/05 16:16 by razvan.deaconescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0