Linux naredba udariti jesh- kompatibilan naredbeni jezik prevoditelj koji izvršava naredbe pročitane iz standardnog ulaza ili iz datoteke.udariti također sadrži korisne značajke iz Korn i C ljuske (ksh iCSH).
Bash Options
Osim opcija pojedinačnih znakova dokumentiranih u opisuset izgrađena naredba,udariti tumači sljedeće opcije kada se poziva:
- c niz: Ako jec opcija je prisutna, a zatim se čita naredbe niz , Ako postoje argumenti nakon niz , dodjeljuju se položajnim parametrima, počevši od$0.
- -i: Ako je-i opcija je prisutna, ljuska je interaktivni .
- -l: Napravitiudariti djelovati kao da je pozvana kao prijava ljuske.
- -r: Ako je-r opcija je prisutna, ljuska postaje ograničen.
- -s: Ako je-s opcija je prisutna ili ako nema argumenata nakon obrade opcija, tada se naredbe čita iz standardnog ulaza. Ova opcija omogućuje postavljanje parametara položaja prilikom pozivanja interaktivne ljuske.
- -D: Popis svih dvostrukih navodnika koji prethode$ ispisuje se na standardni izlaz. To su žice koje podliježu prijevodima jezika kada trenutačna lokacija nijeC iliPOSIX, To podrazumijeva -n opcija; nijedna naredba neće biti izvršena.
- - + shopt_option : shopt_option jedna je od opcija koje je prihvatilashopt Ugrađen. Ako shopt_option je prisutan,-O postavlja vrijednost te opcije i+ O poništi je. Ako shopt_option nije isporučen, imena i vrijednosti opcija ljuske koju je prihvatioshopt ispisuju se na standardni izlaz. Ako je opcija zazivanja + O, izlaz se prikazuje u formatu koji se može ponovno upotrijebiti kao ulaz.
- --: -- signalizira kraj opcija i onemogućuje daljnju obradu opcija. Bilo koji argumenti nakon-- tretiraju se kao nazivi datoteka i argumenti. Argument- je ekvivalentan--.
udariti također tumači brojne opcije više znakova. Ove opcije moraju se pojaviti u naredbenom retku prije nego što se prepoznaju opcije pojedinačnog znaka:
- --dump-po-žice: Odgovara-D, ali izlaz je u GNU-u gettext PO (prijenosni objekt).
- --dump-žice: Odgovara-D.
- --Pomozite: Prikazati poruku o korištenju na standardnom izlazu i izaći uspješno.
- --init-datoteka: datoteka i --rcfile datoteka : Izvršite naredbe iz datoteka umjesto standardne datoteke za osobnu inicijalizaciju ~ / .Bashrc ako je ljuska interaktivna.
- --prijaviti se: Odgovara-l.
- --noediting: Nemojte koristiti GNUreadline knjižnica za čitanje naredbenog retka kada je ljuska interaktivna.
- --noprofile: Nemojte čitati cijelu programsku datoteku za pokretanje / Etc / profile ili bilo koji od osobnih datoteka za inicijalizaciju ~ / .Bash_profile , ~ / .Bash_login , ili ~ / .Profile , Prema zadanim postavkama,udariti čita te datoteke kada se zove kao ljuska za prijavu.
- --norc: Nemojte čitati i izvršavati osobnu datoteku za inicijalizaciju ~ / .Bashrc ako je ljuska interaktivna. Ova je opcija uključena prema zadanim postavkama ako se ljuska poziva kaosh.
- --posix: Promijenite ponašanje korisnikaudariti gdje se zadani postupak razlikuje od POSIX standarda kako bi odgovarala standardu ( posix modu ).
- --ograničen: Ljuska postaje ograničena.
- --rpm-traži: Izradite popis datoteka koje su potrebne za skriptu ljuske za pokretanje. To podrazumijeva "-n" i podliježe istim ograničenjima kao što je sastavljanje provjere provjere pogrešaka vremena; Backticks, testovi i evals ne analiziraju se tako da se neke nedostupnosti mogu propustiti.
- verbose: Odgovara-v.
- --verzija: Prikaži informacije o verziji za ovu instancuudariti na standardnom izlazu i izlazu uspješno.
argumenti
Ako argumenti ostanu nakon obrade opcija i niti jedanc niti-s opcija je predana, pretpostavlja se da je prvi argument naziv datoteke koja sadrži naredbe ljuske. Ako udariti se poziva na ovaj način,$0 postavljen je na naziv datoteke, a pozicijski parametri postavljeni su na preostale argumente.udariti čita i izvršava naredbe iz ove datoteke; zatim izlazi.udaritiizlazni status je izlazni status zadnje naredbe izvršene u skripti. Ako nijedna naredba nije izvršena, izlazni status je 0. Prvo se pokušava otvoriti datoteka u trenutnom direktoriju, a ako se ne pronađe datoteka, ljuska pretražuje mape uSTAZA za skriptu.
prizivanje
ljuska za prijavu je onaj čiji je prvi karakter nulte argument a-, ili jedan započeo s--prijaviti se opcija.
interaktivni ljuska je pokrenuta bez argumenata koji nisu opcije i bezc opciju čiji standardni ulaz i izlaz su spojeni na stezaljke kako je određeno pomoću isatty (3), ili je započeo s-i opcija.PS1 postavljen je i $- uključuje ako je bash interaktivan, dopuštajući skriptu ljuske ili datoteku za pokretanje za testiranje tog stanja.
Sljedeći paragrafi opisuju kakoudariti izvršava svoje datoteke za pokretanje. Ako bilo koja od datoteka postoji, ali se ne može čitati,udariti prijavi pogrešku. Tildi se proširuju u nazive datoteka kako je opisano u Tilde Expansionu.
Kadaudariti poziva se kao interaktivna ljuska za prijavu ili kao neinteraktivna ljuska s--prijaviti se opciju, prvo čita i izvršava naredbe iz datoteke / Etc / profile , ako ta datoteka postoji. Nakon što pročita tu datoteku, traži ~ / .Bash_profile , ~ / .Bash_login , i ~ / .Profile , u tom redoslijedu i čita i izvršava naredbe od prvog koji postoji i koji je čitljiv.--noprofile može se koristiti kada se školjka pokrene kako bi spriječila ovo ponašanje.
Kada izlazne ljuske za prijavu,udariti čita i izvršava naredbe iz datoteke ~ / .Bash_logout , ako postoji.
Kada se pokrene interaktivna ljuska koja nije ljuska za prijavu,udariti čita i izvršava naredbe iz ~ / .Bashrc , ako ta datoteka postoji. To se može inhibirati korištenjem--norc opcija.--rcfile datoteka opcija će prisilitiudariti za čitanje i izvršavanje naredbi iz datoteka umjesto ~ / .Bashrc .
Kadaudariti je pokrenut ne-interaktivno - za pokretanje sheme skripte, na primjer - traži varijabluBASH_ENV u okruženju, širi svoju vrijednost ako se ondje pojavi i koristi proširenu vrijednost kao naziv datoteke za čitanje i izvršavanje.udariti ponaša se kao da je izvršena naredba:
ako -n "$ BASH_ENV"; onda. "$ BASH_ENV"; fi
ali vrijednostSTAZA varijabla se ne koristi za traženje naziva datoteke. Akoudariti poziva se s imenomsh, pokušava oponašati početno ponašanje povijesnih verzijash što je moguće bliže, a sukladno POSIX standardu. Kada se zove kao interaktivna ljuska za prijavu ili neinteraktivna ljuska s--prijaviti se opciju, prvo pokušava pročitati i izvršiti naredbe iz / Etc / profile i ~ / .Profile , u tom redoslijedu.--noprofile opcija se može upotrijebiti za sprečavanje takvog ponašanja. Kada se zove kao interaktivna ljuska s imenom sh, udariti traži varijabluENV, proširuje vrijednost ako je definirana i koristi proširenu vrijednost kao naziv datoteke za čitanje i izvršavanje. Budući da se školjka zvala kaosh ne pokušava čitati i izvršavati naredbe iz bilo koje druge pokretanje datoteke,--rcfile opcija nema učinka. Ne-interaktivna ljuska koja se zove s imenomsh ne pokušava pročitati nikakve druge datoteke za pokretanje. Kada se zove kaosh, udariti ulazi POSIX nakon čitanja datoteka za pokretanje. Kadaudariti započinje u POSIX način, kao i kod--posix opcija naredbenog retka, slijedi POSIX standard za datoteke za pokretanje. U ovom načinu rada, interaktivne ljuske proširujuENV varijable i naredbe se čitaju i izvode iz datoteke čije je ime proširena vrijednost. Nisu spremljene druge datoteke za pokretanje. udariti obično pokušava utvrditi kada ga upravlja programom udaljenog ljuske rshd , Ako udariti određuje da ga upravlja rshd , čita i izvršava naredbe iz ~ / .Bashrc , ako ta datoteka postoji i čitljiva je. To neće učiniti ako se zove kaosh,--norc mogu se upotrijebiti za prevenciju takvog ponašanja, a--rcfile opcija se može koristiti za prisiljavanje druge datoteke za čitanje, ali rshd obično ne poziva ljusku s tim opcijama ili dopusti da budu navedeni. Ako se ljuska pokrene s efektivnim korisničkim (grupnim) idom koji nije jednak stvarnom korisniku (grupi) id, i-p opcija nije isporučena, ne čitaju se datoteke za pokretanje, funkcije shell nisu naslijeđene iz okruženja,SHELLOPTS varijabla, ako se pojavljuje u okruženju, zanemaruje se, a efektivni korisnički ID postavljen je na pravi korisnički ID. Ako je-p opcija se isporučuje na poziv, ponašanje pokretanja je isti, ali učinkovit korisnički ID se ne resetira. Sljedeće definicije koriste se tijekom ostatka ovog dokumenta: Rezervirane riječi su riječi koje imaju posebno značenje za ljusku. Sljedeće riječi prepoznate su kao rezervirane kada nisu označene i prve riječi jednostavne naredbe ili treće riječi aslučajiliza naredba: ! slučaj učinio elif drugo esac fi za funkciju ako je odabrano onda dok dok {} vrijeme jednostavna naredba slijed je izbornih varijabilnih zadataka koje slijediprazan- odvojene riječi i preusmjeravanja i prekinute a upravljački operator , Prva riječ određuje naredbu koju treba izvršiti i prosljeđuje kao argument nula. Preostale riječi prenose se kao argumenti na pozivnu naredbu. Povratna vrijednost a jednostavna naredba je njegov izlazni status, ili 128+ n ako je naredba prekinuta signalom n . cjevovod je slijed jedne ili više naredbi odvojene znakom|, Format za cjevovod je vrijeme -p ! naredba | command2 … . Standardni izlaz naredba povezan je pomoću cijevi na standardni ulaz command2 , Ova se veza izvodi prije svih preusmjeravanja navedenih u naredbi. Ako je rezervirana riječ! prethodi cjevovod, izlazni status tog cjevovoda logično je NE od izlaznog statusa zadnje naredbe. U suprotnom, status cjevovoda je izlazni status posljednje naredbe. Shema čeka da sve naredbe u cjevovodu prestanu prije vraćanja vrijednosti. Ako jevrijeme rezervirana riječ prethodi cjevovodu, proteklo je vrijeme, kao i vrijeme i vrijeme korisnika i sustava koje se troši njegovo izvršenje, kada se cjevovod završi.-p opcija mijenja izlazni format onome koji je odredio POSIX.VREMENSKI FORMAT varijabla može biti postavljena na niz formata koji određuje kako treba prikazati podatke o vremenu. Svaka naredba u cjevovodu izvršava se kao zaseban proces (npr. U podzemlju). popis je slijed jednog ili više cjevovoda koje odvaja jedan od operatora;, &, &&, ili||, i po želji će biti prekinut s jednim od;, &, ili Od tih operatera,&& i|| imaju jednaku prednost, a slijede ih; i&, koji imaju jednaku prednost. Niz jedne ili više novih linija može se pojaviti u a popis umjesto točke-zarezom da biste odredili naredbe. Ako nadzornik prekine naredbu&, ljuska izvršava naredbu u pozadina u podzemlju. Shema ne čeka da naredba završi, a status povratka je 0. Naredbe razdvojene a; izvršavaju se sekvencijalno; ljuska čeka da svaka naredba zauzme zauzvrat. Status povratka je izlazni status zadnje izvršene naredbe. Kontrolni operatori&& i|| označavaju i popise i OR popise. I popis ima oblik command1 && command2 command2 izvršava se ako i samo ako, command1 vraća izlazni status nula. OR popis ima oblik command1 || command2 command2 izvršava se samo i ako command1 vraća status nestanka nula. Povratni status AND i OR popisa je izlazni status posljednje naredbe izvršene na popisu. compound naredba je jedno od sljedećeg: (popis) : popis izvršava se u podskupu. Varijabilne zadatke i ugrađene naredbe koje utječu na okruženje ljuske ne ostaju na snazi nakon što naredba završi. Status povratka je izlazni status popis . {list; } : popis jednostavno se izvršava u trenutnom okruženju ljuske. popis mora se prekinuti novim ili zarezom. Ovo je poznato kao a skupnu naredbu , Status povratka je izlazni status popis , Imajte na umu da za razliku od metakaraktera( i), { i} su rezervirane riječi i mora se dogoditi ako je dopušten priznati rezerviranu riječ. Budući da ne uzrokuju prekidne riječi, moraju se odvojiti od njih popis po prostranstvu. ((izraz)) : The izraz ocjenjuje se prema pravilima opisanim pod Aritmetička procjena. Ako vrijednost izraza nije nula, status povrata je 0; inače je status povratka 1. To je točno jednakopustiti ' izraz '. izraz : Povratak statusa 0 ili 1 ovisno o procjeni uvjetnog izraza izraz , Izrazi se sastoje od primara opisanih ispod u Uvjetni izrazi. Razdvajanje riječi i širenje puta ne izvode se na riječima između i; proširenje tilda, parametar i varijabilno širenje, aritmetička ekspanzija, zamjena naredbe, supstitucija procesa i uklanjanje citata. Kada== i!= operatori se koriste, niz koji se nalazi desno od operatera smatra se uzorkom i usklađuje se prema pravilima opisanim podUsklađivanje uzoraka, Povratna vrijednost je 0 ako niz odgovara ili ne podudara se s obrascem, odnosno 1 inače. Bilo koji dio obrasca može se citirati kako bi se prisilio da se podudara s nizom. Izrazi se mogu kombinirati pomoću sljedećih operatora, navedenih u redoslijedu redoslijeda: && i|| operatori ne procjenjuju izraz2 ako je vrijednost izraz1 je dovoljna za određivanje povratne vrijednosti cjelokupnog uvjetnog izraza. U neinteraktivnoj ljusci ili interaktivnoj ljusci u kojoj je interactive_comments opcija nashopt omogućen je ugrađeni, riječ koja počinje s# uzrokuje da se riječ i svi preostali znakovi na toj liniji zanemaruju. Interaktivna ljuska bezinteractive_comments omogućena opcija ne dopušta komentare. interactive_comments opcija je uključena prema zadanim postavkama u interaktivnim školjkama. citirajući se koristi za uklanjanje posebnog značenja određenih znakova ili riječi u ljusci. Citanje se može upotrijebiti za onemogućivanje posebnog tretmana za posebne znakove, kako bi se spriječilo prepoznavanje rezerviranih riječi kao takve i spriječilo širenje parametara. Svaki od metaznak gore navedene poddefinicije ima posebno značenje za ljusku i mora se citirati ako se predstavlja. Kada se koriste uređaji za proširenje povijesti zapovijedi, proširenje povijesti obično!, mora se citirati kako bi se spriječilo širenje povijesti. Postoje tri mehanizma citiranja: pobjeći lik , pojedinačne citate i dvostruke navodnike. Neizlječeni povratni udarac () je pobjeći lik , Ona čuva doslovnu vrijednost sljedećeg znaka koji slijedi uz iznimku Prilikom dodavanja znakova u pojedinačnim citatima čuva se doslovna vrijednost svakog znaka unutar navodnika. Ni jedan citat ne smije se pojaviti između pojedinačnih navoda, čak i kada se prethodi povratni udarac. Zatvaranje znakova u dvostrukim navodima čuva doslovnu vrijednost svih znakova unutar navodnika, s izuzetkom$, ', i, Likovi$ i' zadržavaju svoje posebno značenje unutar dvostrukih citata. Povratni unos zadržava svoje posebno značenje samo ako ga slijedi jedan od sljedećih znakova:$, ', ', , ili Posebni parametri* i@ imaju posebno značenje kada su u dvostrukim citatima. Riječi oblika$' niz posebno se tretiraju. Riječ se širi niz , s oznakama iz skrivene trake zamijenjene kako je navedeno u ANSI C standardu. Sljedovi bijega iz bajki, ako postoje, dekodiraju se na sljedeći način: Prošireni rezultat je jednokratno, kao da dolarski znak nije bio prisutan. Dvostruki navodni niz koji prethodi znak dolara ($) će uzrokovati da se niz prevede prema trenutnoj lokaciji. Ako je trenutačna lokacijaC iliPOSIX, dolar je zanemaren. Ako je niz preveden i zamijenjen, zamjena se dvostruko navodi. parametar je entitet koji pohranjuje vrijednosti. Može biti a Ime , broj ili jedan od posebnih znakova navedenih u odjeljkuPosebni parametri, Za svrhe ljuske, a varijabla je parametar označen s a Ime , Varijabla ima a vrijednost i nula ili više atributi , Atributi se dodjeljuju pomoćuproglasiti ugrađena naredba. Parametar je postavljen ako je dodijeljena vrijednost. Null niz je važeća vrijednost. Jednom kada je postavljena varijabla, može se isključiti samo pomoćupostavi ugrađena naredba. varijabla može se dodijeliti izjavom obrasca: Ime = vrijednost Ako vrijednost nije dana, varijablu se dodjeljuje null niz. svi vrijednosti podvrći se ekspanziji tilda, parametru i varijabilnoj ekspanziji, zamjeni naredbe, aritmetičkoj ekspanziji i uklanjanju citata. Ako varijabla ima svojbroj atribut set, zatim vrijednost podliježe aritmetičkoj ekspanziji čak i ako se ekspanzija $ ((…)) ne koristi. Razdvajanje riječi nije izvedeno, osim'$@' kao što je objašnjeno podPosebni parametri, Ekspanzija putnog imena nije izvršena. Izjave o dodjeli mogu se također pojaviti kao argumentiproglasiti, slaganje sloga, izvoz, samo za čitanje, i lokalne ugrađene naredbe. položajni parametar je parametar označen s jednim ili više znamenki, osim jedne znamenke 0. Pozicionirani parametri se dodjeljuju iz argumenata ljuske kada se poziva, a može se dodijeliti pomoćuset ugrađena naredba. Položajni parametri se ne mogu dodijeliti izjavama dodjele. Pozitivni parametri privremeno se zamjenjuju kada se izvodi funkcija ljuske. Kada se prostorni parametar koji se sastoji od više od jedne znamenke se proširuje, mora biti zatvoren u braces. Shema posebno obrađuje nekoliko parametara. Ti se parametri mogu navoditi samo na referencama; nije dopušten njihov dodjeljivanje. Shema je postavila sljedeće varijable: BASH: Proširuje se na cijeli naziv datoteke koji se koristi za pozivanje ove instanceudariti. BASH_VERSINFO: Jedinstvena varijabla polja čiji članovi imaju informacije o verziji za ovu instancu udariti, Vrijednosti dodijeljene članovima polja su sljedeće: BASH_VERSION: Proširuje se na niz koji opisuje verziju ove instanceudariti. COMP_CWORD: Indeks u$ {COMP_WORDS} riječi koja sadrži trenutni položaj pokazivača. Ova je varijabla dostupna samo u funkcijama ljuske koje se pokreću programiranim završnim uređajima. COMP_LINE: Trenutna naredba. Ova je varijabla dostupna samo u funkcijama ljuske i vanjskim naredbama koje pozivaju programabilni završni objekti. COMP_POINT: Indeks trenutnog položaja pokazivača u odnosu na početak trenutne naredbe. Ako je trenutni položaj pokazivača na kraju trenutne naredbe, vrijednost ove varijable je jednaka$ {#} COMP_LINE, Ova je varijabla dostupna samo u funkcijama ljuske i vanjskim naredbama koje pozivaju programabilni završni objekti. COMP_WORDS: Varijabla polja koja se sastoji od pojedinačnih riječi u trenutnoj naredbenoj liniji. Ova je varijabla dostupna samo u funkcijama ljuske koje se pokreću programiranim završnim uređajima. DIRSTACK: Varijabla polja koja sadrži trenutni sadržaj reda direktorija. Imenice se pojavljuju u snopu redom kojim se prikazujudirs Ugrađen. Dodjeljivanje članovima ove varijable polja može se koristiti za izmjenu direktorija već u snopu, alipushd ipopd buildins moraju se koristiti za dodavanje i uklanjanje direktorija. Dodjela ove varijable neće promijeniti trenutni direktorij. AkoDIRSTACK je neaktivan, gubi posebna svojstva, čak i ako se naknadno resetira. EUID: Proširuje se na učinkovit korisnički ID trenutnog korisnika, inicijaliziran pri pokretanju ljuske. Ova je varijabla samo za čitanje. FUNCNAME: Naziv bilo koje funkcije ljuske koja se trenutno izvodi. Ova varijabla postoji samo kada se izvršava funkcija ljuske. Zadatke zaFUNCNAME nemaju učinka i vraćaju status pogreške. AkoFUNCNAME je neaktivan, gubi posebna svojstva, čak i ako se naknadno resetira. GRUPE: Varijabla polja koja sadrži popis grupa čiji je trenutačni korisnik član. Zadatke zaGRUPE nemaju učinka i vraćaju status pogreške. AkoGRUPE je neaktivan, gubi posebna svojstva, čak i ako se naknadno resetira. HISTCMD: Povijest ili indeks u popisu povijesti tekuće naredbe. AkoHISTCMD je neaktivan, gubi posebna svojstva, čak i ako se naknadno resetira. HOSTNAME: Automatski postavite na ime trenutnog računala. HOSTTYPE: Automatski postavite na niz koji jedinstveno opisuje vrstu stroja na kojemudariti izvršava. Zadana je ovisnost o sustavu. LINENO: Svaki put kad se ovaj parametar navodi, ljuska zamjenjuje decimalni broj koji predstavlja trenutni redni broj redaka (počevši od 1) unutar skripte ili funkcije. Kada nije u skripti ili funkciji, zamijenjena vrijednost nije zajamčena da ima smisla. AkoLINENO je neaktivan, gubi posebna svojstva, čak i ako se naknadno resetira. MACHTYPE: Automatski postavite na niz koji u potpunosti opisuje vrstu sustava na kojemudariti provodi se u standardnom GNU-u CPU-tvrtka-sustav format. Zadana je ovisna o sustavu. OLDPWD: Prethodni radni imenik koji je postavioCD naredba. OPTARG: Vrijednost posljednjeg argumenta opcije koju obrađujegetopts ugrađena naredba. OPTIND: Indeks sljedećeg argumenta koji će biti obrađen od stranegetopts ugrađena naredba. OSTYPE: Automatski postavite na niz koji opisuje operativni sustav na kojemudariti izvršava. Zadana je ovisnost o sustavu. PIPESTATUS: Varijabla polja koja sadrži popis vrijednosti izlaznih statusa iz procesa u najdulje izvedenom prvom planu cjevovoda koji može sadržavati samo jednu naredbu. PPID: ID procesa roditelja ljuske. Ova je varijabla samo za čitanje. OSI: Trenutni radni imenik kao što je postavioCD naredba. RANDOM: Svaki put kad se ovaj parametar navodi, generiran je slučajni cijeli broj između 0 i 32767. Redoslijed slučajnih brojeva može se inicijalizirati dodjeljivanjem vrijednosti za RANDOM, AkoRANDOM je neaktivan, gubi posebna svojstva, čak i ako se naknadno resetira. ODGOVOR: Postavite na redak unosa koji se čita uzčitati ugrađenu naredbu kada nema argumenata. SEKUNDI: Svaki put kad se ovaj parametar upućuje, vraća se broj sekundi nakon poziva ljuske. Ako je dodijeljena vrijednostSEKUNDI, vrijednost koja se vraća nakon sljedećih referenci je broj sekundi od dodjele plus dodijeljene vrijednosti. Ako SEKUNDI je neaktivan, gubi posebna svojstva, čak i ako se naknadno resetira. SHELLOPTSPopis popisa omogućenih opcija ljuske odvojene dvotočkom. Svaka riječ na popisu valjani je argument za-o opcija naset ugrađena naredba. Opcije koje se pojavljuju uSHELLOPTS su one prijavljene kao na poset-o, Ako je ova varijabla u okruženju kadaudariti se pokreće, svaka opcija ljuske na popisu će biti omogućena prije čitanja bilo koje datoteke za pokretanje. Ova je varijabla samo za čitanje. SHLVL: Povećava se po jedan svaki puta kada je primjerakudariti započinje. UID: Proširuje se na korisnički ID trenutnog korisnika, inicijaliziran pri pokretanju ljuske. Ova je varijabla samo za čitanje. Školjka koristi sljedeće varijable. U nekim slučajevima,udariti dodjeljuje zadanu vrijednost varijabli; navedeni su slučajevi zabilježeni. BASH_ENV: Ako je ovaj parametar postavljen kadaudariti izvršava skriptu ljuske, njegova vrijednost se tumači kao naziv datoteke koji sadrži naredbe za inicijalizaciju ljuske, kao u ~ / .Bashrc , Vrijednost BASH_ENV podložno je ekspanziji parametra, zamjeni naredbi i aritmetičkoj ekspanziji prije nego što se interpretira kao naziv datoteke.STAZA se ne koristi za traženje rezultanta naziva datoteke. CDPATH: Put traga zaCD naredba. Ovo je popis direktorija odvojen od dvotočke u kojem shema traži odredišne direktorije koje je odredioCD naredba. Vrijednost uzorka je ".: ~: / Usr". COLUMNS: Koristi gaOdaberi ugrađenu naredbu za određivanje širine terminala prilikom ispisa popisa odabira. Automatski postaviti po primitku SIGWINCH. COMPREPLY: Varijabla polja iz kojegudariti očitava moguće nadopune koje generira funkcija ljuske koju poziva programski završni uređaj. FCEDIT: Zadani uređivač zafc ugrađena naredba. FIGNORE: Popisom sufiksa odvojenih od dvotočke koji se zanemaruju prilikom izvođenja popisa datoteka. Naziv datoteke čiji sufiks odgovara jednom od nazivaFIGNORE isključena je s popisa podudarnih datoteka. Vrijednost uzorka je ".o: ~". GLOBIGNORE: Popis uzoraka odijeljen od dvotočke koji određuje skup imena datoteka koji se zanemaruju širenjem staza. Ako se naziv datoteke koji se podudara s obrazacom proširenja staze odgovara i jednom obrascu uGLOBIGNORE, uklanja se s popisa utakmica. HISTCONTROL: Ako je postavljeno na vrijednost od ignorespace , linije koje počinju s aprostor znak ne unose se na popis povijesti. Ako je postavljeno na vrijednost od ignoredups , linije koje odgovaraju zadnjoj liniji povijesti ne unose se. Vrijednost ignoreboth objedinjuje dvije mogućnosti. Ako je ne postavljeno ili ako je postavljeno na bilo koju drugu vrijednost iznad gore navedenih, sve retke koje je pročitao parser spremaju se na popis povijesti, ovisno o vrijednostiHISTIGNORE, Funkcija ove varijable zamijenjena je HISTIGNORE, Druga i sljedeća retka višerazredne naredbe za spajanje nisu testirana i dodaju se u povijest bez obzira na vrijednostHISTCONTROL. HISTFILE: Naziv datoteke u kojoj je spremljena zaporka naredbi. Zadana je vrijednost ~ / .Bash_history , Ako se ne postavi, povijest naredbi se neće spremiti kada izlazi interaktivna ljuska. HISTFILESIZE: Maksimalni broj redaka koji se nalaze u datoteci povijesti. Kada se ta varijabla dodjeljuje vrijednost, datoteka povijesti skraćena je, ako je potrebno, da ne sadrži više od tog broja redaka. Zadana je vrijednost 500. Datoteka povijesti također je prekinuta na ovu veličinu nakon što je napiše kada izlazi interaktivna ljuska. HISTIGNORE: Popis uzoraka odvojen od dvotočke koji se koristi za odlučivanje koje će zapovjedne linije biti spremljene na popisu povijesti. Svaki uzorak je usidren na početku retka i mora se podudarati s cjelokupnom linijom (bez implicitnog '*je dodan). Svaki uzorak testiran je na liniju nakon provjere koje je odredioHISTCONTROL primjenjuju se. Pored normalnih znakova podudaranja ljuske ljuske,&'odgovara prethodnom retku povijesti. '&'može se izbjeći pomoću obrta; povratni udarac se uklanja prije pokušaja utakmice. Druga i sljedeća retka višerazredne naredbe spojeva nisu testirana i dodaju se u povijest bez obzira na vrijednostHISTIGNORE. HISTSIZE: Broj naredbi koje treba zapamtiti u povijesti naredbe. Zadana vrijednost je 500. DOM: Kućni imenik trenutnog korisnika; zadani argument zaCD ugrađena naredba. Vrijednost ove varijable se također koristi pri izvođenju tilde ekspanzije. HOSTFILE: Sadrži naziv datoteke u istom formatu kao / etc / hosts koji bi trebao biti pročitan kada ljuska treba dovršiti naziv hosta. Popis mogućih dovršetaka glavnog računala može se mijenjati dok je ljuska pokrenuta; sljedeći put pokušava se završetak glavnog računala nakon promjene vrijednosti,udariti dodaje sadržaj nove datoteke na postojeći popis. Ako HOSTFILE je postavljen, ali nema vrijednost,udariti pokušava čitati / etc / hosts da biste dobili popis mogućih dovršetaka glavnog računala. KadaHOSTFILE nije podešen, popis glavnog računala se briše. IFS: The Interni razdjelnik polja se koristi za cijepanje riječi nakon ekspanzije i razdvajanje linija u riječi sčitati ugrađena naredba. Zadana vrijednost je " IGNOREEOF: Kontrolira djelovanje interaktivne ljuske pri primitku aEOF znak kao jedini ulaz. Ako je postavljeno, vrijednost je broj uzastopnihEOF znakove koji se moraju upisivati kao prvi znakovi na ulaznoj liniji prijeudariti izlazi. Ako varijabla postoji, ali nema numeričku vrijednost ili nema vrijednost, zadana je vrijednost 10. Ako ne postoji,EOF označava kraj unosa na ljusku. INPUTRC: Naziv datoteke zareadline početna datoteka, nadjačavajući zadanu datoteku ~ / .Inputrc . LANG: Koristi se za određivanje kategorije oglasnih prostora za kategoriju koja nije posebno odabrana s varijablom koja počinje sLC_. LC_ALL: Ova varijabla nadjačava vrijednostLANG i bilo koji drugiLC_ varijabla koja određuje kategoriju mjesta. LC_COLLATE: Ova varijabla određuje redoslijed raspoređivanja koji se koristi prilikom razvrstavanja rezultata ekspanzije putanja i određuje ponašanje izraza raspona, klasa ekvivalencije i uspoređivanje sekvenci unutar proširenja staza i podudaranja uzoraka. LC_CTYPE: Ova varijabla određuje tumačenje znakova i ponašanje klasa karaktera unutar proširenja staza i podudaranja uzoraka. LC_MESSAGES: Ova varijabla određuje mjesto koje se koristi za prevođenje dvostrukih navodnih nizova koje prethodi a$. LC_NUMERIC: Ova varijabla određuje kategoriju mjesta koja se koristi za formatiranje brojeva. LINIJE: Koristi gaOdaberi ugrađenu naredbu za određivanje duljine stupca za popise odabira ispisa. Automatski postaviti po primitku SIGWINCH. MAIL: Ako je ovaj parametar podešen na naziv datoteke iMAILPATH varijabla nije postavljena,udaritiobavještava korisnika o dolasku pošte u navedenu datoteku. MAILCHECK: Određuje koliko često (u sekundama)udariti provjerava poštu. Zadana je 60 sekundi. Kada je vrijeme za provjeru pošte, školjka to čini prije nego što prikaže primarni upit. Ako ova varijabla nije postavljena ili postavljena na vrijednost koja nije broj veći od ili jednak nuli, ljuska onemogućuje provjeru pošte. MAILPATH: Popis imena naziva datoteka odvojenih od dvotočke koji će se provjeravati za poštu. Poruka koja će se ispisati kada se pošta stigne u određenu datoteku može se odrediti razdvajanjem naziva datoteke iz poruke s "?". Kada se koristi u tekstu poruke,$_ proširuje se na naziv trenutne pošte. Primjer: MAILPATH = '/ var / mail / bfox? "Imate poštu": ~ / shell-mail? "$ _ Ima poštu!"'
udariti opskrbljuje zadanu vrijednost za ovu varijablu, no lokacija korisničkih datoteka e-pošte koju upotrebljava ovisi o sustavu (/ var / mail /$ USER). OPTERR: Ako je postavljena na vrijednost 1,udariti prikazuje poruke o pogreškama koje generiragetopts ugrađena naredba.OPTERR inicijalizira se na 1 svaki put kad se poziva ljuska ili se izvršava shema skripte. STAZA: Put pretraživanja za naredbe. To je liste direktorija odvojenih od debelog crijeva u kojem shema traži naredbe. Zadani put ovisi o sustavu i postavlja administrator koji instaliraudariti, Zajednička vrijednost je "/ usr / gnu / bin: / usr / local / bin: / usr / ucb: / bin: / usr / bin :. ''. POSIXLY_CORRECT: Ako je ova varijabla u okruženju kadaudariti počinje, ljuska ulazi posix modu prije čitanja pokretanja datoteke, kao da--posix opcija zazivanja bila je isporučena. Ako je postavljena dok je ljuska pokrenuta,udariti omogućuje posix modu kao da je zapovijed set -o posix bio je pogubljen. PROMPT_COMMAND: Ako je postavljen, vrijednost se izvršava kao naredba prije izdavanja svakog primarnog upita. PS1: Vrijednost ovog parametra se proširuje i koristi se kao primarni naredbeni redak. Zadana vrijednost je " S- v $''. PS2: Vrijednost ovog parametra se proširuje kao kodPS1 i koristi se kao sekundarni promptni niz. Zadana postavka je "> ''. PS3: Vrijednost ovog parametra koristi se kao upit zaOdaberi naredba. PS4: Vrijednost ovog parametra se proširuje kao kodPS1, i vrijednost se ispisuje prije svake naredbeudariti prikazuje se tijekom traga izvršenja. Prvi znakPS4 replicira se više puta, po potrebi, kako bi se ukazale na više razina usmjerenosti. Zadana postavka je "+ ''. VREMENSKI FORMAT: Vrijednost ovog parametra koristi se kao niz formata koji određuje kako informacije o vremenu za cjevovode prefiksirane svrijeme treba biti prikazana rezervirana riječ. % znak unosi izlazni slijed koji se proširuje na vremensku vrijednost ili druge informacije. Sljedovi bijega i njihova značenja su kako slijedi. Oznake označavaju dodatne dijelove. Opcionalno p je znamenka koja određuje preciznost , broj frakcijskih znamenaka nakon decimalne točke. Vrijednost od 0 ne uzrokuje izračunavanje decimalne točke ili frakcije. Može se navesti najviše tri mjesta nakon decimalne točke; vrijednosti od p više od 3 se mijenjaju u 3. Ako p nije naveden, koristi se vrijednost 3. Opcionalnol određuje dulji format, uključujući minute, obrasca MM m SS . FF a. Vrijednost p određuje je li frakcija uključena ili nije. Ako ova varijabla nije postavljena,udariti djeluje kao da ima vrijednost $ ' nreal t% 3lR nuser t% 3lU nsys% 3lS', Ako je vrijednost nula, nema podataka o vremenu. Kada se prikaže formatni niz, dodaje se novi redak koji se prati. TMOUT: Ako je postavljena na vrijednost veću od nule,TMOUT tretira se kao zadani vremenski rok začitati Ugrađen.Odaberi naredba prestaje ako unos ne stigne nakonTMOUT sekunde kada ulaz dolazi iz terminala.U interaktivnoj ljusci vrijednost se tumači kao broj sekundi čekanja za unos nakon izdavanja primarnog upita.udariti prestaje nakon čekanja tog broja sekundi ako unos ne stigne. auto_resume: Ova varijabla upravlja načinom interakcije ljuske s korisnikom i kontrolom posla. Ako je ova varijabla postavljena, jednostavne naredbe jedne riječi bez preusmjeravanja tretiraju se kao kandidati za nastavak postojećeg zaustavljenog posla. Ne postoji dvostruko dopušteno. Ako je započeo više od jednog radnja s upisanim nizom, odabran je najnoviji zadani posao. Ime zaustavljen posao, u ovom kontekstu, je zapovjedna linija kojom se pokreće. Ako je postavljena na vrijednost točno , isporučeni niz mora točno odgovarati nazivu zaustavljenog posla; ako je postavljeno na podniz , isporučeni niz mora odgovarati podnizici naziva zaustavljenog posla. podniz Vrijednost pruža funkcionalnost analognu%? identifikator posla. Ako je postavljeno na bilo koju drugu vrijednost, isporučeni niz mora biti predbroj imena zaustavljenog posla; to osigurava funkcionalnost analognu sustavu% identifikator posla. histchars: Dva ili tri znaka koji kontroliraju povijest i tokenization. Prvi znak je proširenje povijesti znak, znak koji signalizira početak proširenja povijesti, obično "!”. Drugi je lik brzo zamjena znak, koji se koristi kao stenograf za ponovnu uspostavu prethodne naredbe unesene, zamjenjujući jedan niz drugu u naredbi. Zadana postavka je "^”. Dodatni treći znak je znak koji označava da je ostatak retka komentar kada se nađe kao prvi znak neke riječi, obično "#”. Karakter povijesti povijesti uzrokuje preskakanje povijesti za preostale riječi na liniji. To ne mora nužno uzrokovati da analitičar ljuske tretira ostatak retka kao komentar. udariti daje jednodimenzionalne varijable polja. Svaka varijabla može se koristiti kao niz; proglasiti builtin će eksplicitno proglasiti polje. Ne postoji maksimalno ograničenje veličine polja niti bilo koji zahtjev da se članovi budu indeksirani ili dodijeljeni kontinuirano. Nizovi se indeksiraju pomoću cijeli brojevi i nula su bazirani. Polje se stvara automatski ako je bilo koja varijabla dodijeljena korištenju sintakse Ime potpisan = vrijednost , potpisan tretira se kao aritmetička ekspresija koja mora procijeniti na broj veći od ili jednak nuli. Da biste izrijekom proglasili polje, upotrijebiteizjaviti a Ime . izjaviti a Ime potpisan također je prihvaćen; potpisan zanemaruje se. Atributi se mogu navesti za varijablu polja pomoćuproglasiti i samo za čitanje builtins. Svaki atribut vrijedi za sve članove polja. Rasporedi se dodjeljuju korištenjem složenih zadataka obrasca Ime =(vrijednost 1 … vrijednosti n ), gdje svaki vrijednost je u obliku potpisan = niz , Samo niz je obavezan. Ako se isporučuju dodatne zagrade i indeks, indeks se dodjeljuje; inače indeks dodijeljenog elementa je zadnji indeks dodijeljen izjavom plus jedan. Indeksiranje počinje na nuli. Ova sintaksa je također prihvaćen od straneproglasiti Ugrađen. Elementi pojedinačnih nizova mogu se dodijeliti korištenju Ime potpisan = vrijednost sintaksa. Bilo koji element polja može se pozivati pomoću $ { Ime potpisan }. Braces su potrebni kako bi se izbjegli sukobi s proširenjem staze. Ako potpisan je@ ili*, riječ se širi svim članovima Ime , Ovi se indeksi razlikuju samo kada se riječ pojavi unutar dvostrukih citata. Ako se riječ dvostruko navodi, $ { Ime *} proširuje se na jednu riječ s vrijednošću svakog člana polja razdvojenog prvim znakomIFS posebna varijabla i $ { Ime @} proširuje svaki element od Ime u zasebnu riječ. Kada nema članova polja, $ { Ime @} proširuje se na ništa. To je analogno ekspanziji posebnih parametara* i@. ${# Ime potpisan } proširuje se na duljinu od $ { Ime potpisan }. Ako potpisan je* ili@, proširenje je broj elemenata u nizu. Upućivanje varijable polja bez indeksa je ekvivalentan elementu referentne nulte. postavi builtin koristi se za uništenje polja.Ukloni Ime potpisan uništava niz element na indeksu potpisan . Ukloni Ime , gdje Ime je niz, ilipostavi Ime potpisan , gdje potpisan je* ili@, uklanja cijeli niz. proglasiti, lokalne, isamo za čitanje svaki prihvati-a opcija za određivanje polja.čitati builtin prihvaća a-a mogućnost pridjeljivanja popisa riječi pročitanih iz standardnog unosa u niz.set iproglasiti builtins prikazuje vrijednosti polja na način koji im omogućuje da se ponovno koriste kao zadatke. Proširenje se izvodi na naredbenoj liniji nakon što je podijeljena u riječi. Izvršeno je sedam vrsta ekspanzije: ekspanziju oslonca, proširenje tilda, parametar i varijabilno širenje, zamjena naredbe, aritmetička ekspanzija, razdvajanje riječi i širenje staze. Redoslijed ekspanzija je: ekspanzija čahura, ekspanzija tilda, parametar i varijabla ekspanzije, aritmetička ekspanzija i zamjena naredbe (učinjeno lijevo-desno), razdvajanje riječi i proširenje staza. Na sustavima koji ga podržavaju, dostupna je dodatna proširenja: zamjena procesa . Samo ekspanzija braće, razdvajanje riječi i ekspanzija putanja mogu promijeniti broj riječi ekspanzije; ostali proširenja proširuju jednu riječ u jednu riječ. Jedine iznimke su ekspanzije "$@"i"${ Ime @}'. Ekspanzija stupca je mehanizam kojim se mogu stvoriti proizvoljni nizovi. Taj je mehanizam sličan proširenje staze , ali generirani nazivi datoteka ne moraju postojati. Obrasci koje treba proširiti imaju oblik neobvezatnog uvod , nakon čega slijedi niz žica odvojene zarezima između dviju zavojnica, nakon čega slijedi izborni dodatak pismu , Preambula je prefiksana na svaki niz koji se nalazi unutar braces, a postscript se dodaje svakom rezultatu nizu, širi se od lijeva do desno. Proširenja držača mogu biti ugniježđena. Rezultati svakog proširenog niza nisu sortirani; sačuvan je redoslijed slijeva nadesno. Na primjer, a{d, c, b}proširuje se u "ade asce abe". Proširenje držača izvodi se prije bilo kakvih drugih proširenja, a svi ostali znakovi posebni za ostala proširenja sačuvani su u rezultatima. To je strogo tekstualno.udariti ne primjenjuje nikakvu sintaktičku interpretaciju u kontekstu ekspanzije ili teksta između bracesa. Pravilno oblikovana širina držača mora sadržavati nenatjecene zagrade za otvaranje i zatvaranje i barem jednu neprilagođenu zarez. Svaka neispravno oblikovana širina držača ostaje nepromijenjena.{ ili, može se citirati obrnutim redoslijedom kako bi se spriječilo da se smatra dijelom izražajnog elementa. Da biste izbjegli sukobe s proširenjem parametra, niz${ ne smatra se prihvatljivim za širenje brava. Ovaj konstrukt obično se koristi kao stenografski kada je zajednički prefiks žice koji se generiraju duži nego u gornjem primjeru: mkdir / usr / local / src / bash / {stari, novi, dist, bugovi} ili chown korijen /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}} Ekspanzija braće uvodi laganu nespojivost s povijesnim verzijamash, koja ne tretira otvaranje ili zatvaranje zaglavlja posebno kada se pojavljuju kao dio riječi i čuva ih u izlazu.udariti uklanja braces iz riječi kao posljedica širenja braće. Primjerice, riječ je upisanash kao file {1,2} pojavljuje se jednako u izlazu. Ista je riječ izlaz kao file1 file2 nakon proširenjaudariti, Ako je striktna kompatibilnost ssh je poželjan, početakudariti s+ Bopciju ili onemogućiti širenje brava pomoću+ B opcija naset naredba. Ako riječ započne s neotkrivenim znakom tilda ('~'), svi znakovi koji prethode prvoj neprimijenjenoj oštrici (ili svi znakovi, ako nema neradne crte) smatraju se tildom-prefiks , Ako se ne navode niti jedan od znakova u predbroju s tildom, znakovi u prečniku s tildom nakon tilde tretiraju se kao mogući Korisničko ime , Ako je ovo ime za prijavu nulji niz, tilda zamjenjuje vrijednost parametra ljuskeDOM, AkoDOM nije podešen, umjesto toga zamijenjen je početni direktorij korisnika koji izvršava ljusku. U suprotnom, prefiks tilda zamjenjuje se kućnim imenikom povezanim s navedenim nazivom za prijavu. Ako je predbroj s tildom '~ +', vrijednost varijable ljuskeOSI zamjenjuje prefiks tilda. Ako je prefiks tilda '~ -', vrijednost varijable ljuskeOLDPWD, ako je postavljena, zamijenjena je. Ako znakovi koji slijede tildom u prečmu s tildom sastoje se od broja N , po izboru prefiksiran s '+' ili '-', prefiks tilda zamjenjuje se s odgovarajućim elementom iz reda direktorija, kako bi todirs builtin poziv s tilda-prefiks kao argument. Ako znakovi koji slijede tilda u prečmu s tildom sastoje se od broja bez vodećeg "+" ili "-", pretpostavlja se "+". Ako ime za prijavu nije važeće, ili širenje tilde ne uspije, riječ je nepromijenjena. Svaki dodjeljivanje varijabli provjerava se za nedodijeljene tilde prefikse neposredno nakon a: ili=, U tim se slučajevima izvodi i ekspanzija tilda. Prema tome, može se koristiti nazive datoteka s tildima u zadacimaSTAZA, MAILPATH, iCDPATH, a ljuska dodjeljuje proširenu vrijednost. $ karakter uvodi ekspanziju parametara, zamjenu naredbe ili aritmetičku ekspanziju. Naziv parametra ili simbol koji se treba proširiti mogu biti zatvoreni u zagradama, koji su neobvezni, ali služe za zaštitu veličine koja se širi od znakova koji ih neposredno slijede, što bi se moglo tumačiti kao dio naziva. Kada se upotrebljavaju zagrade, prva je podudarna završna brašna } ne izbjegava se obrnutim redoslijedom ili unutar citiranog niza, a ne unutar ugrađene aritmetičke ekspanzije, zamjene naredbe ili ekspanzije parametra. $ {Parametar} : Vrijednost parametar je supstituiran. Braces su potrebni kada parametar je pozicijski parametar s više od jedne znamenke ili kada parametar slijedi znak koji se ne smije tumačiti kao dio njegova imena. Ako prvi lik parametar je uskličnik, uvedena je razina promjenjivog usmjerenja.udariti koristi vrijednost varijable formiranog od ostatka parametar<
definicije
Rezervirane riječi
Shell gramatika: jednostavne naredbe
cjevovodi
arena
Komandne naredbe
komentari
citirajući
parametri
Položajni parametri
Posebni parametri
Shell varijable
nizovi
ekspanzija
Proširenje nagiba
Proširenje tilde
Proširenje parametara