, pri etom imya_kataloga zapisyvaetsya v vershinu steka, ostal'nye elementy steka sohranyayutsya s novymi nomerami. Forma pushd +chislo vypolnyaet komandu cd - 63 - imya_nomer_(1+chislo). Pri etom imya_nomer_(1+chislo) sta- vitsya v vershinu steka, a chislo imen katalogov perepisy- vayutsya v konec steka v tom poryadke, v kotorom oni sle- dovali ot vershiny steka, drugie elementy steka ostayutsya bez izmenenij. rehash obnovit' hesh-tablicu. repeat chislo komanda komanda repeat pozvolyaet povtorit' vypolnenie komandy ukazannoe chislo raz. Komanda dolzhna byt' odna v komandnoj stroke, ona ne dolzhna byt' posledovatel'- nost'yu komand, psevdonimom ili konvejerom. set set imya set imya = slovo set imya[indeks] = slovo set imya = (spisok_slov) set spisok_prisvaivanij pervaya forma komandy set otobrazhaet znacheniya vseh pere- mennyh interpretatora komand. Peremennye, kotorye v kachestve svoih znachenij imeyut ne odno slovo, otobrazha- yutsya kak zaklyuchennyj v skobki spisok slov. Vtoraya forma prisvaivaet ukazannomu imeni pustuyu stroku, tret'ya - slovo, chetvertaya - znachenie slova s nomerom indeks, pyataya - spisok slov. Poslednyaya forma ispol'zuetsya dlya ukazaniya spiska prisvaivanij - v odnoj komandnoj stroke neskol'ko prisvaivanij. Vo vseh sluchayah proishodyat rasshireniya psevdonimov komandnyh strok i imen fajlov. Podstanovka peremennyh osushchestvlyaetsya pered vypolne- niem prisvaivanij. Pered operaciyami nad elementami mas- siva ego neobhodimo polnost'yu opredelit'. Ne obrabaty- vayutsya massivy s peremennymi ili neopredelennymi grani- cami. setenv setenv imya znachenie pervaya forma vyvodit znachenie peremennyh okruzheniya, vtoraya ih ustanavlivaet. Udalit' peremennuyu okruzheniya mozhno komandoj unsetenv. shift shift peremennaya osushchestvlyaet levyj sdvig spiska slov peremennoj. Levyj element spiska ischezaet. Popytka osushchestvit' shift dlya - 64 - pustogo spiska privodit k sostoyaniyu oshibki. source fajl prednaznachena dlya vypolneniya komandnogo fajla bez porozhdeniya novogo interpretatora. Komandy source mogut byt' vlozhennymi. Oshibka v komande source na lyubom urovne zavershaet vypolnenie. Vyzov komandy source bez argumentov porozhdaet sostoyanie oshibki. stop %vnutrennij_identifikator_processa stop %shablon_imeni_processa ostanavlivaet vypolnenie asinhronnogo processa. suspend ostanavlivaet vypolnenie interpretatora. switch( vhodnaya_stroka ) case obrazec_1: ... breaksw ... default: ... endsw v obrazcah variantov case snachala vypolnyayutsya podsta- novki. V obrazcah variantov case mozhno ispol'zovat' shablony imen fajlov *, ? i [...]. Obrazcy variantov case posledovatel'no sravnivayutsya s ukazannoj v switch vhodnoj strokoj. Esli ne vyyavleno sovpadenie obrazca so vhodnoj strokoj, vypolnenie prodolzhaetsya posle default. Slova case i default dolzhny stoyat' pervymi v komandnoj stroke. Operator breaksw peredaet upravlenie na stroku, sleduyushchuyu za endsw. Esli v variante case ne ukazan operator breaksw, to pri sovpadenii s obrazcom vypolnyayutsya vse stroki do pervogo breaksw ili default. Esli ne obnaruzheno sovpadenie s obrazcom i default otsutstvuet, vypolnenie prodolzhaetsya posle endsw. time time komanda pri otsutstvii parametrov pechataetsya itog vremeni, izrashodovannogo interpretatorom i ego potomkami. V kachestve komandy nel'zya ispol'zovat' psevdonimy. umask umask maska - 65 - po umolchaniyu fajlu ustanavlivaetsya kod dostupa, kotoryj opredelyaetsya maskoj. Fajl budet imet' kod dostupa, v kotorom maskirovany (ravny 0) bity, ustanovlennye (ravny 1) v maske. Pust' maska imeet vid 123. Pervaya cifra otnositsya k maskirovaniyu bitov dostupa dlya vla- del'ca fajla i administratora, vtoraya - k bitam dostupa gruppy, a tret'ya - k bitam dostupa vseh ostal'nyh pol'- zovatelej. Znachenie maski ukazyvaetsya v vos'merichnom kode. Obychno znacheniem maski yavlyaetsya 002, kotoroe zadaet lyuboj dostup dlya pol'zovatelej svoej gruppy, dostup dlya chteniya i vypolneniya drugim pol'zovatelyam, i 022, kotoroe opredelyaet lyuboj dostup (za isklyucheniem zapisi) dlya pol'zovatelej svoej gruppy i vseh prochih. CHtoby uznat' tekushchee znachenie maski, nado vypolnit' komandu umask bez argumenta. unalias psevdonim ... vse psevdonimy, imena kotoryh sootvetstvuyut ukazannym, otmenyayutsya. Sledovatel'no, unalias * udalyaet vse psev- donimy. Pri zapuske komandy bez argumentov porozhdaetsya sostoyanie oshibki. unhash zapreshchaet ispol'zovat' hesh-tablicu pri poiske komandy. unlimit resurs unlimit snimaet ogranichenie na resurs. Esli resurs ne ukazan, snimayutsya ogranicheniya na vse resursy. unset shablon udalyayutsya vse peremennye, imena kotoryh sootvetstvuyut ukazannomu shablonu. Takim obrazom, unset * udalyaet vse peremennye, ustanovlennye komandoj set. unsetenv imya udalyaetsya peremennaya iz okruzheniya. wait ozhidanie vseh vypolnyaemyh processov. Poka vypolnyaetsya komanda wait, priglashenie ne pechataetsya. Komanda wait vypolnyaetsya, poka ne zavershatsya vse zapushchennye na vypolnenie processy. Pri preryvanii vypolneniya komandy wait (CTRL/C ili SU/C) soobshchayutsya imena i nomera vseh processov, dlya kotoryh vypolnyalos' ozhidanie. while( vyrazhenie ) ... end - 66 - cikl vypolnyaetsya, poka istinno (ne ravno nulyu) znachenie vyrazheniya. Klyuchevye slova while i end dolzhny naho- dit'sya na otdel'nyh strokah. V tele cikla mozhno ispol'- zovat' break dlya vyhoda iz cikla i continue dlya vozob- novleniya sleduyushchej iteracii cikla bez zaversheniya teku- shchej. - 67 - SODERZHANIE ANNOTACIYA ......................................... 2 1. Komandnyj yazyk C-shell ............................ 3 1.1. Leksicheskaya struktura yazyka C-shell ............. 3 1.2. Formaty komandnyh strok, peremeshcheniya po fajlovoj sisteme ......................................... 6 1.3. Upravlenie vvodom i vyvodom ..................... 9 1.4. Upravlenie processami ........................... 11 1.5. SHablony imen fajlov i katalogov ................. 17 1.6. Podstanovki znachenij peremennyh ................. 19 1.7. Modifikatory peremennyh ......................... 26 1.8. Vyrazheniya ....................................... 30 1.9. Operatory yazyka C-shell ......................... 35 1.10. Komandnye fajly ................................. 39 1.11. Protokolirovanie, sredstva raboty s protokolom .. 44 1.12. Peremennye interpretatora csh ................... 49 1.13. Special'nye fajly ............................... 55 1.14. Vstroennye komandy i operatory .................. 57 - 68 -