Comandă de comandă Shell - structuri de control

3. Structuri de control

O comandă simplă este o secvență de cuvinte separate de spații. Primul cuvânt este numele comenzii care va fi executată, iar restul va fi transmisă ca argumente.





Numele comenzii îi este transmisă ca număr de argument 0 (adică numele comenzii este $ 0). Valoarea returnată printr-o comandă simplă este starea de finalizare a acesteia, dacă aceasta se termină în mod normal, sau (octal) 200+ dacă se termină anormal.







O listă este o secvență a uneia sau mai multor conducte separate prin caractere ;, . sau || și probabil se încheie cu un simbol; sau . Dintre cele patru operațiuni specificate; și au priorități egale, mai puțin decât și ||. Prioritățile celor din urmă sunt, de asemenea, egale. Simbolul; înseamnă că conductele vor fi executate secvențial; - în paralel. operație (||) înseamnă că lista care urmează va fi executată numai dacă codul de ieșire al conductei precedente este null (nonzero).

O comandă este fie o comandă simplă, fie una din structurile de control. Codul de completare a comenzii este codul de ieșire al ultimei sale comenzi simple.

3.1. Ciclul FOR

Dacă partea din <набор> omite, înseamnă în "$ @" (adică, în $ 1 $ 2. $ n). Un exemplu. Afișați toate fișierele Fortran ale bibliotecii curente:

3.2. Operator de selecție

Operatorul de selecție efectuează <список>, corespunzătoare primei <шаблону>, care satisface <переменная>. Forma șablonului este aceeași cu cea utilizată pentru generarea numelor de fișiere. O parte din | șablon. pot fi absente.

Un exemplu. Definiți steaguri și compilați toate fișierele specificate.

3.3. Declarație condiționată.

În progres <список1> și, dacă codul de finalizare este 0, atunci <список2>, în caz contrar - <список3> și, dacă codul său de ieșire este 0, atunci <список4>. Dacă nu este cazul, atunci <список5>. Elif și alte părți pot fi absente.

3.4. Ciclul ciclului

Atâta timp cât ultimul cod de completare a comenzii <списка1> există 0, comenzile sunt executate <списка2>. Când se înlocuiește cuvântul de serviciu în timp ce se activează, până când starea de ieșire a buclă este inversată.

Ca una dintre echipe <списка1> comanda poate fi adevărată (falsă). Nu se efectuează nicio acțiune în această comandă, iar codul de ieșire este setat la 0 (-1). Aceste comenzi sunt folosite pentru a organiza cicluri nesfârșite. Ieșirea dintr-un astfel de ciclu poate fi efectuată numai de pauză de comandă (vezi Comenzi speciale).

3.5. funcții

O funcție cu un nume <имя>. Funcțiile corpului - <список>, încheiat între <и>.

3.6. Cuvintele rezervate

Următoarele cuvinte sunt rezervate:

3.7. Echipe speciale

Ca regulă, pentru a executa fiecare comandă, shell-ul generează un proces separat. Comenzile speciale diferă prin faptul că sunt construite în coajă și executate în cadrul procesului actual.

Comandă goală. Returnează codul de iesire nul.

Shell citește și execută comenzi din fișier, apoi se termină; Când căutați un fișier, se utilizează lista de căutare $ PATH.

Ieșiți dintr-o buclă internă sau în timp; dacă n este specificat, atunci ieșiți din n bucle interne.

Mergeți la următoarea iterație a ciclului interior pentru sau în timp; dacă n este specificat, treceți la următoarea iterație a ciclului n.

Schimbați directorul curent în director <аргумент>. Valoarea implicită este HOME.

Afișează argumentele sale la ieșirea standard, separate prin spații.

Argumentele sunt citite ca și cum ar proveni de la intrarea standard și sunt tratate ca comenzi care sunt imediat executate.

Argumentele sunt tratate ca comenzi de shell și executate imediat, însă nu se creează niciun proces nou. Ca argumente, indicațiile I / O pot fi specificate și, dacă nu există alte argumente, numai direcția I / O a programului curent va fi schimbată.

Ieșirea din shell cu codul de ieșire n. Dacă n este omisă, atunci codul de completare este codul de ieșire al ultimei comenzi executate (sfârșitul fișierului completează și execuția).

Aceste variabile sunt marcate pentru export automat în mediul înconjurător (vezi Mediu) a comenzilor care sunt executate. Dacă nu sunt specificate niciun argument, atunci este afișată o listă cu toate variabilele exportate. Numele funcțiilor nu pot fi exportate.

hash [-r] [ <команда>. ]

Pentru fiecare dintre aceste comenzi, calea de căutare este determinată și stocată. Opțiunea -r șterge toate datele stocate. Dacă nu sunt specificate niciun argument, atunci sunt afișate informații despre comenzile stocate: hit-uri - numărul de apeluri pe care shell-ul le are pentru această comandă; cost - cantitatea de lucru pentru a găsi comanda în lista de căutare; comanda - numele complet al comenzii. În unele situații, datele stocate sunt recuperate, așa cum este indicat de * în câmpul de accesări.

Afișează numele directorului curent.

Citiți de la intrarea standard o linie; Primul cuvânt este atribuit primei variabile, celui de-al doilea în al doilea și așa mai departe. și toate cuvintele rămase sunt atribuite ultimei variabile.

Nu modificați valorile acestor variabile. Dacă nu este specificat niciun argument. sunt afișate informații despre toate variabilele de tip readonly.

Ieșiți funcția cu codul de ieșire n. Dacă n este omisă, atunci codul de completare este codul de completare a ultimei comenzi executate.

set [--aefkntuvx [ <арг>. ]]

Comanda stabilește următoarele moduri:

notați variabilele care au fost modificate sau create ca variabile de mediu (consultați Mediu)

Dacă codul de completare a comenzii este diferit de zero, terminați imediat shell-ul







Articole similare

Trimiteți-le prietenilor: