Shell parancsértelmező - vezérlő struktúrák
3. Vezérlő szerkezetek
Egy egyszerű parancs szóköz szétválasztott szekvencia. Az első szó a végrehajtandó parancs neve, a többi pedig argumentumként kerül átadásra. A parancsnév 0-as argumentumként kerül átadásra (azaz a parancsnév $ 0). Egy egyszerű parancs által visszaadott érték a befejezési állapot, ha normálisan megszűnik, vagy (oktális) 200+ állapotot, ha abnormálisan megszűnt.
A lista egy vagy több csővezeték sorozata karakterekkel elválasztva ;, . vagy || és talán szimbólummal végződik; vagy . A négy meghatározott művelet közül; és egyenlő prioritásokkal rendelkeznek, kevesebbek mint és ||. Az utóbbiak prioritásai szintén azonosak. A szimbólum; azt jelenti, hogy a csővezetékeket egymás után hajtják végre, és - párhuzamosan. működés (||) azt jelenti, hogy az azt követő listát csak akkor hajtja végre, ha az előző csővezeték kilépési kódja nulla (nem nulla).
A parancs egyszerű parancs, vagy az egyik ellenőrzési struktúra. A parancs befejezési kódja az utolsó egyszerű parancs kimenő kódja.
3.1. Ciklus FOR
Ha a rész a <набор> hiányzik, akkor a "$ @" kifejezést jelenti (azaz $ 1 $ 2. $ n). Egy példa. Az aktuális könyvtár összes Fortran fájljának megjelenítése:
3.2. Kiválasztás operátor
A kiválasztáskezelő végzi <список>, amely megfelel az elsőnek <шаблону>, amely megfelel <переменная>. A sablon formátuma megegyezik a fájlnevek generálásával. Része | sablont. esetleg hiányozhat.
Egy példa. Jelölje ki a zászlókat és fordítsa le az összes megadott fájlt.
3.3. Feltételes nyilatkozat.
Folyamatban van <список1> és ha befejezési kódja 0, akkor <список2>, másként nem rendelkezik - <список3> és ha kilépési kódja 0, akkor <список4>. Ha ez nem így van, akkor <список5>. Elif és más részek hiányozhatnak.
3.4. A CYCLE ciklus
Mindaddig, amíg az utolsó parancs befejezési kódja <списка1> 0, parancsok végrehajtása <списка2>. A szervizszó cseréje közben, amíg a hurok kilépési állapota meg nem fordul.
Mint az egyik csapat <списка1> a parancs lehet igaz (hamis). Ebben a parancsban semmilyen műveletet nem végeznek, és a kilépési kód értéke 0 (-1). Ezek a parancsok végtelen ciklusok megszervezésére szolgálnak. Az ilyen ciklusból való kilépés csak a parancstöréssel végezhető el (lásd Különleges parancsok).
3.5. funkciók
Egy névvel ellátott funkció <имя>. Test funkciók - <список>, között <и>.
3.6. Fenntartott szavak
A következő szavak vannak fenntartva:
3.7. Különleges csapatok
Általános szabályként minden parancs végrehajtásához a shell különálló folyamatot hoz létre. Különleges parancsok különböznek abban, hogy be vannak építve a héjba, és végrehajtják a folyamatban.
Üres parancs. Visszaadja az null kilépési kódot.
Shell elolvassa és végrehajtja a parancsokat a fájlból, majd véget ér; Amikor keres egy fájlt, a $ PATH keresési listát használják.
Kilépés egy belső hurokhoz vagy hurokhoz; Ha n van megadva, akkor lépjen ki n belső hurkokból.
Menjen a következő ciklus utáni iterációjához; Ha n megadható, menj az n-edik ciklus következő iterációjához.
Az aktuális könyvtár módosítása a könyvtárba <аргумент>. Az alapértelmezett érték a HOME.
Az argumentumokat szabványos kimenetként adja ki, szóközzel elválasztva.
Az argumentumokat úgy értelmezik, mintha standard bemenetről származnának, és azonnal végrehajtásra kerülnek parancsokként.
Az argumentumokat héjparancsként kezelik, és azonnal végrehajthatók, de nincs új folyamat. Érvekként I / O irányokat lehet megadni, és ha nincs más érv, csak az aktuális program I / O irányát fogják módosítani.
Kilépve a shell-ből az n kilépési kóddal. Ha n hiányzik, akkor a befejezési kód az utolsó végrehajtott parancs kilépési kódja (a fájl befejezése is befejezi a végrehajtást).
Ezeket a változókat a végrehajtandó parancsok automatikus kimutatására (lásd Környezet) jelölik. Ha nincs megadva argumentum, akkor megjelenik az összes exportált változó listája. A funkciónevek nem exportálhatók.
hash [-r] [ <команда>. ]
Mindegyik parancs esetében meghatározza és tárolja a keresési útvonalat. A -r opció törli az összes tárolt adatot. Ha nincs argumentum megadva, megjelenik a tárolt parancsok információi: találat - a parancsértelmező hívások száma; költség - a keresési lista parancsának megtalálásához szükséges munka mennyisége; command - a parancs teljes neve. Bizonyos esetekben a tárolt adatok újraszámításra kerülnek, amint azt a találat a mezőben * jelzi.
Megjeleníti az aktuális könyvtár nevét.
Olvassa le a szabványos bemenetről egy sort; Az első szó az első változóhoz van rendelve, a második a második, és így tovább. és az összes többi szó az utolsó változóhoz van rendelve.
Ne változtassa meg a változók értékeit. Ha nincs megadva argumentum. akkor megjelenik a readonly típusú összes változó információja.
A funkció kilépési kódja n. Ha n hiányzik, akkor a befejezési kód az utolsó végrehajtott parancs befejezési kódja.
set [--aefkntuvx [ <арг>. ]]
A parancs a következő módokat állítja be:
a környezeti változókkal módosított vagy létrehozott jegyzetváltozók (lásd: Környezet)
Ha a parancs befejezési kódja nem nulla, azonnal szüntesse be a shell-ot