Bash - Linux Command - Unix Command

NAME

bash - GNU Bourne-Again SHell

SINOPSIA

bash [aukerak] [fitxategia]

DESCRIPTION

Bash sh -compatible komando-hizkuntzaren interpretea da, sarrera estandarrean edo fitxategi batetik irakurtzen diren komandoak exekutatzen dituena. Bash- ek Korn eta C shells-en ezaugarri erabilgarriak ere barne ditu ( ksh eta csh ).

Bash helburua IEEE POSIX Shell eta Tresnak zehaztapenaren (IEEE Working Group 1003.2) konfigurazio osagarria izatea da.

AUKERAK

Ezarritako setin komandoaren deskribapenean dokumentatutako karaktere bakarreko aukeren gainetik, bash- ek honako funtzioak interpretatzen ditu gaitzean:

-c katea

Aukera- c bada, komandoak kate batetik irakurtzen dira. Katearen ondoren argumentuak badira, kokapen parametroei esleituko zaizkie, $ 0- tik hasita.

-i

Aukera- i bada, shell interaktiboa da .

l

Egin bash egintza balitz bezala saioa hasteko shell gisa (ikus INVOCATION azpitik).

-r

Aukera-r bada, shella murriztu egiten da (ikusi SHELL RESTRINGIDO azpitik).

-s

Aukerazkoa bada -s aukera dago, edo argumenturik ez badago aukeren prozesua ondoren geratzen bada, komandoak sarrera estandarretik irakurtzen dira. Aukera honek kokapen parametroak ezartzen ditu shell interaktiboa deitzen duenean.

-D

$ Aurrez aipatutako kate bikoitz guztien zerrenda estandarraren arabera inprimatuta dago. Hauek dira hizkuntzen itzulpenaren menpe dauden kateak uneko lokala ez den C edo POSIX . Horrek -n aukera dakar; Ez dira komandoak exekutatuko.

[- +] O [ shopt_option ]

shopt_option dendaren eraikuntza onartutako aukeren artean dago (ikusi SHELL BUILTIN COMMANDS azpitik). Shopt_option presente badago, -O aukera horren balioa ezartzen du; + O ezatu. Shopt_option ez bada hornitzen, shopt- ek onartutako shell aukeren izenak eta balioak irteera estandarrean inprimatuko dira. Gonbidapen-aukera + O bada , irteera sarrera gisa berrerabili daitekeen formatuan bistaratuko da.

-

A - aukeren amaierak seinalatzen ditu eta aukera gehiago prozesatzeko aukera desgaitzen du. Ondorengo argumentuak - fitxategi izen eta argumentu bezala tratatzen dira. Argumentu bat - baliokidea da - .

Bash -ek karaktere anitzeko aukerak ere interpretatzen ditu. Aukera hauek komando-lerroan agertuko dira, aitortu ahal izateko karaktere bakarreko aukera baino lehen.

--dump-po-kateak

D- baliokidea, baina irteera GNU gettext po (objektu eramangarria) formatuan dago.

--dump-kateak

D- baliokidea.

--help

Erakutsi erabilera-mezua irteera estandarrean eta irten behar bezala.

--init-file fitxategia

- fitxategia fitxategia

Exekutatu fitxategiaren komandoak hasierako fitxategiaren / / .bashrc pertsonal estandarraren ordez shella interaktiboa bada (ikus INVOCATION azpitik).

--saioa hasi

L-baliokidetasuna.

--noediting

Ez erabili GNU readline liburutegia komando lerroak irakurtzeko shell interaktiboa denean.

--noprofile

Ez irakurri sistemako zabalerako abiarazte fitxategia / etc / profile edo hasierako fitxategien fitxategi pertsonalak ~ / .bash_profile , ~ / .bash_login edo ~ / .profile . Lehenespenez, bash-k fitxategi hauek irakurtzen ditu saio-hasierako shell gisa deitzen denean (ikus INVOCATION azpitik).

--norc

Ez irakurri eta exekutatu hasierako fitxategi pertsonala ~ / .bashrc shell interaktiboa bada. Aukera hau lehenetsi gisa shell da sh gisa deitzen bada.

--posix

Aldatu bash portaera non eragiketa lehenetsia POSIX 1003.2 estandarretik desberdina estandarrarekin ( posix modua ).

--restricted

Shell mugatuta geratzen da (ikusi SHELL RESTRINGIDO azpitik).

--rpm-eskatzen

Exekutatu shell script-ean beharrezkoak diren fitxategien zerrenda sortzen. Horrek esan nahi du '-n' eta konpilazio-denbora egiaztatzen duen egiaztapena egiaztatzen duen muga berak ditu; Backticks, [] probak eta evals ez dira analizatu, beraz, zenbait mendekotasun galdu ditzakegu. --verbose Equivalent to -v .

--version

Erakutsi bertsioaren informazioa bash- aren instantziari irteera estandarrean eta irteera ongi atera.

ARGUMENTS

Argumentuak prozesatzeko aukera jarraitzen badu eta ez bada -c ezta -s aukerarik eman, lehen argumentua shell komandoak dituen fitxategi baten izena dela suposatzen da. Bash modua modu horretan gonbidatuta badago, $ 0 fitxategiaren izenean ezarriko da, eta posizioaren parametroak gainerako argumentuetan ezarriko dira. Bashek fitxategi honen komandoak irakurtzen eta exekutatzen ditu, eta gero irten egiten da. Bash- en irteeraren egoera gidoian exekutatutako azken komandoaren irteera da. Komandoak exekutatzen ez badira, irteera-egoera 0 da. Saiakuntza lehenbailehen egiten da fitxategia irekitzeko uneko direktorioan, eta, fitxategirik aurkitzen ez bada, shell-ek PATH script-ak eskuliburuan bilaketak egiten ditu.

deitura

Saio-hasierako shell bat zero argumentua duen lehen karakterea da, edo bat --login aukerarekin hasi da.

Elkarreragin shell bat aukera ez-argumentu gabe hasi zen eta aukera estandarra eta irteera-terminoa ( zeinak zehazten duen (3) zehazten den moduan) edo -i aukerarekin hasi zen. PS1 ezartzen da eta $ - sartzen da bash interaktiboa bada, shell script edo abioko fitxategi bat egoera hau probatzeko aukera ematen du.

Ondorengo paragrafoek nola bash-k bere startup fitxategiak exekutatzen ditu. Fitxategi bat existitzen bada baina ezin da irakurri, bash- ek errorea adierazten du. Tildes fitxategi-izenetan zabaltzen dira, Tilde Expansion- en EXPANSION atalean azaltzen den moduan.

Bash saio-hasierako saio interaktibo gisa edo marko ez-elkarreragile gisa --login aukerarekin, komandoak irakurtzen eta exekutatzen ditu / etc / profile fitxategitik, fitxategia badago. Fitxategi hori irakurri ondoren, ~ / .bash_profile , ~ / .bash_login eta ~ / .profile itxura du , ordena horretan, eta lehendik dagoen lehenengoa irakurtzen eta exekutatzen du eta irakurgarria da. The --noprofile aukera shell-ean portaera hori inhibitzeko erabiltzen denean erabil daiteke.

Saio-hasierako shell bat irteten denean, bash- ek komandoak irakurtzen eta exekutatzen ditu ~ / .bash_logout fitxategitik, existitzen bada.

Saio-hasierako shell bat ez den shell interaktiboa abiarazten denean, bash-ek irakurri eta exekutatzen ditu ~ / .bashrc- tik komandoak, fitxategi hori badago. Honek inhibitu egin dezake --norc aukera erabiliz. Fitxategi- fitxategiak aukera honek bash- a irakurri eta exekutatuko komandoak fitxategi batetik behartzen ditu ~ / .bashrc ordez.

Bash abiarazten ez denean elkarreraginean, shell script bat exekutatzeko, adibidez, ingurunearen BASH_ENV aldagaia bilatzen du, bertan agertzen den balioa handitzen du eta zabaldutako balioa irakurtzen eta exekutatzen duen fitxategi baten izena da. . Bash komandoa exekutatu bezala balitz bezala jokatzen da:

[-n "$ BASH_ENV"] bada; orduan. "$ BASH_ENV"; fi

baina PATH aldagaiaren balioa ez da erabiltzen fitxategi izenaren bila.

Bas sh izenarekin deitzen bada, Sh bertsioaren bertsio berritzaileen abioko portaera imitatzen saiatuko da, POSIX estandarraren arabera. Elkarrizketa -saio interaktibo gisa edo shell-aren arteko elkarreragin-shell-a aktibatuta , komandoak irakurri eta exekutatu egiten ditu / etc / profile eta ~ / .profile , ordena horretan. The --noprofile aukera portaera hori inhibitzeko erabil daiteke. Izeneko SH izeneko shell interaktiboan oinarrituta, bash- k ENV aldagaiaren bila dabil, bere balioa zehazten bada, eta zabaldutako balioa irakurtzen eta exekutatzen duen fitxategi baten izen gisa erabiltzen du. Sh gisa gonbidatu den shell batek ez du beste startup fitxategietatik komandoak irakurtzeko eta exekutatzeko saiatzen , --rcfile aukera ez du eraginik. Name sh- ek deitzen duen shell ez-interaktiboa ez da beste edozein abioko fitxategiak irakurtzen saiatzen. Sh gisa deitzen denean, bash sartzen da posix modua startup fitxategiak irakurri ondoren.

Bash posix modua abiarazten denean, --posix komando lerroko aukerarekin bezala, startup fitxategien POSIX estandarra jarraitzen du. Modu horretan, shell interaktiboek ENV aldagaia zabaltzen dute eta komandoak zabaldutako balioa duen fitxategitik irakurtzen eta exekutatzen dira. Ez da beste abioko fitxategirik irakurri.

Bashk urruneko shell deabruak exekutatzen ari denean zehazten saiatzen da, normalean rshd . Bash-ek zehazten du rshd- ek exekutatzen ari dela , ~ / .bashrc-en komandoak irakurtzen eta exekutatzen ditu , fitxategia badago eta irakurgarria bada. Ez du hori egingo Sh izenekoa . Aukera hau --norc aukera hau portaera inhibitzeko erabil daiteke, eta --rcfile aukera beste irakurketa baterako behartzeko erabil daiteke, baina rshd- k ez du, oro har, shell-ekin aukeren edo aukera ematen.

Marrazlea erabiltzaile errealaren (taldearen) identitatea ez den benetako erabiltzailearena (taldea) idazten bada, eta -p aukera ez da hornitzen, hasierako fitxategiak ez dira irakurtzen, shell funtzioak ez dira inguruneetatik heredatzen, SHELLOPTS Aldakorra, ingurunean agertzen bada, ez zaio jaramonik egiten, eta erabiltzailearen identifikazio eraginkorra erabiltzaile errealaren IDan ezartzen da. Aukeraketa -p aukera ematen bada, abioko portaera berdina da, baina erabiltzaile-id efektua ez da berrezarri.

DEFINIZIOAK

Definizio hauek gainerako dokumentu osoan zehar erabiltzen dira.

hutsik

Espazio edo fitxa.

hitza

Unitate bakar gisa kontsideratzen den karaktere-sekuentzia. Token bezala ere ezaguna.

izen

Karaktere alfanumerikoak eta azpimarrak bakarrik dituen hitz bat, eta karaktere alfabetiko edo azpimarratu batekin hasita. Identifikatzaile gisa ere deitua.

metacharacter

Pertsonaiak ez direnean, hitzak bereizten ditu. Honako hauetariko bat:

| &; () <> espazio fitxa

kontrol-operadorea

Kontrol funtzioa betetzen duen token bat. Honako sinboloetako bat da:

|| & &&; ;; () |

GAZTE EKONOMIKOAK

Erreserbatutako hitzak shellaren esanahi berezia duten hitzak dira. Ondorengo hitzek erreserbatuta daude unquoted gisa eta komando soil baten lehen hitza (ikusi SHELL GRAMMAR beherago) edo kasu baten edo hirugarren hitzaren arabera:

! kasu horretan, beste funtzio bat egiten baduzu funtzioan hautatuta egonez gero {} denbora [[]

SHELL GRAMMAR

Komando sinpleak

Komando soil bat aukerazko zatiketa aukerako sekuentzia da, ondoren hutsik -size hitz eta birzuzenketak eta kontrol-operadorea amaituta. Lehenengo hitza exekutatzeko komandoa zehazten du, eta zero argumentu gisa pasatzen da. Gainerako hitzak gonbidatutako komandoko argumentu gisa pasatzen dira.

Komando sinple baten itzulera balioa irteera-egoera da, edo 128 + n komandoa seinalea amaitu bada.

hodiak

Pipeline bat karaktere batek bereizitako komando bat edo gehiago da. | . Hodi baten formatua hau da:

[ denbora [ -p ]] [! ] komandoa [ | komandoa2 ...]

Komandoaren irteera estandarra pipa baten bidez konektatzen da2 komandoaren sarrera estandarrean. Konexio hau komandoak zehaztutako birzuzenketak egin aurretik (ikus beheko REDIRECCIÓN ).

Erreserbatutako hitza ! kanalizazio bat baino lehenago, kanalizazio horren irteera azken komandoaren irteeraren egoeraren logikoa da. Bestela, kanalizazioaren egoera azken aginduaren irteera da. Shell kanalizazioan komando guztiak itxaroten du balio bat itzuli aurretik.

Denbora aurreikusitako hitza hodi bat baino lehenagokoa bada, exekuzioan kontsumitutako denbora eta erabiltzaileak eta sistemak denboran amaitzen direnean jakinarazten dira. Aukera -p aukera POSIXek zehaztutako irteerako formatua aldatzen du. TIMEFORMAT aldagaia denbora errealeko informazioa nola bistaratuko duen zehazten duen formatu-kate bat ezarri daiteke; Ikusi deskribapenaren TIMEFORMAT beheko Shell aldagaietan .

Komando bakoitza kanalizazioan prozesu bereizi gisa (hau da, subshell batean) exekutatzen da.

zerrendak

Zerrenda operadore batek bereizten duen kanalizazio bat edo gehiago da ; , & , && edo || , eta aukera bat bukatu ; , & , edo .

Zerrenda operadore hauei, && eta || lehentasun berdina dute, eta ondoren ; eta &, lehentasun berdina dutenak.

Lerro berri bat edo gehiago sekuentzia zerrenda batean ager daiteke komandoen mugak gainditzeko komenientziaren ordez.

Kontrolatzailearen operadorea komandoa amaitzen bada, shell atzeko planoan subshell batean exekutatuko da komandoa. Shell-ek komandoa amaitzeko itxaroten du eta itzulera-egoera 0 da . exekutatzen dira sekuentzialki; shellak komando bakoitzari itxaroten die aldi berean. Itzulera egoera azken exekutatutako azken irteera egoera da.

Kontrolatzaileen operadoreak && eta || eta adierazi Y zerrendak eta OR zerrendak, hurrenez hurren. AND zerrendak formularioa du

komandoa1 & & komandoa2

komandoa2 exekutatzen bada, eta soilik bada, komandoa1 irteera-egoera zero itzultzen du.

OR zerrenda bat du inprimakia

komandoa1 || command2

komandoa2 exekutatzen bada eta soilik bada komando1 zero irteera-egoera itzultzen ez badu. AND eta OR zerrenden itzulera-egoera zerrendako exekutatutako azken komandoa da.

Konposatu komandoak

Konposatu komando bat honako hau da:

( zerrenda )

Zerrenda subshell batean exekutatzen da. Mahaiak ingurunean eragina duten esleipen eta eraikitako komandoak ez dira geratzen komandoak burutu ondoren. Itzulerako egoera zerrendaren irteera egoera da.

{ zerrenda ; }

zerrenda exekutatzen ari da uneko shell ingurunean. zerrenda berria edo puntu eta koma batekin amaitu behar da. Talde komando gisa ezagutzen da. Itzulerako egoera zerrendaren irteera egoera da. Kontuan izan metaketak ( eta ) , { eta } ez bezala erreserbatuta daude hitzak eta aitortzen den erreserbatutako hitza onartu behar da. Hitz-hausturarik ez dutelako, zerrendatik bereizita egon behar dute zuriuneen arabera.

(( adierazpena ))

Ebaluazioa EBALUAZIO ARITMETIKOAN azaltzen den arauaren araberako ebaluazioa da . Espresioaren balioa zero ez bada, itzulera-egoera 0 da; bestela itzulera-egoera 1.a da. " Expresion " deritzonaren baliokidea da.

[[ adierazpena ]]

0 edo 1 egoera itzuli baldintzazko adierazpenaren adierazpenaren ebaluazioaren arabera. Adierazpenak ESPRESSION KONDIZIOEN azpian azaltzen diren lehen mailako osagaiak dira . Hitzaren banaketa eta bide-izenaren hedapena ez dira [[ eta ]] arteko hitzekin egiten dira; hedapenaren, parametroaren eta aldagaien hedapena, hedapen aritmetikoa, komando ordezkapena, prozesuaren ordezkapena eta aurrekontuaren kentzea.

Operadoreak == eta = = erabiltzen direnean, operadorearen eskuinaldean dagoen katea patroia da eta datorren azpitik jarraituz azaltzen dira Ereduaren loturaren azpian. Itzulerako balioa 0 da katearekin bat datorren edo ez dator bat eredua, hurrenez hurren, eta bestela. Ereduaren edozein zati kotizatu daiteke kate gisa bateratzeko behartzeko.

Espresioak konbinatu egin daitezke ondorengo operadoreak, lehentasun ordena murriztuan zerrendatuta:

( adierazpena )

Espresioaren balioa ematen du . Hau erabil daiteke operadoreen lehentasun arruntaren gainetik.

! adierazpen

Egia espresioa faltsua bada.

adierazpena1 eta & expression2

Egia esan, bai expression1 eta expression2 egiazkoak badira.

adierazpena1 || expression2 Egia bada, bai expression1 edo expression2 egia bada.

The && eta || operadoreak ez dute ebaluatzen expression2 adierazpenaren balioa nahikoa baldin bada baldintzazko adierazpenaren itzulera balioa zehazteko.

izenagatik [ hitza ]; zerrenda egin ; done

Hurrengo hitzen zerrenda zabaltzen da, elementuen zerrenda sortzen. Aldagaien izena zerrendako elementu bakoitzean zehazten da aldi berean, eta zerrenda aldi bakoitzean exekutatzen da. Hitzean esandakoa ez bada, komandoak zerrenda bat exekutatzen du behin zehaztutako posizio parametro bakoitzerako (ikus PARAMETERS beherago). Itzulerako egoera exekutatzen ari den azken komandoaren irteera da. Zerrendako hutsik dauden emaitzak ondorengo elementuak hedatzen badira, komandoak ez dira exekutatuko, eta itzulera-egoera 0 da.

for (( expr1 ; expr2 ; expr3 )); zerrenda egin ; done

Lehenik eta behin, adierazpen aritmetikoa expr1 ebaluatuko da ARITHMETIC EVALUATIONren azpian azaltzen diren arauen arabera . Expresio aritmetikoaren expr2 ondoren, behin eta berriro ebaluatzen da zero ebaluatzen den arte. Une bakoitzean expr2- k ez zero balio bat ebaluatzen du, zerrenda exekutatzen da eta adierazpen aritmetikoa expr3 ebaluatzen da. Espresiorik ez badago, 1. balioa balitz bezala jokatzen du. Itzulerako balioa exekutatzen den azken komandoaren irteeraren egoera da, edo faltsua adierazpenetako bat baliogabea bada.

hautatu izena [ hitza ]; zerrenda egin ; done

Hurrengo hitzen zerrenda zabaltzen da, elementuen zerrenda sortzen. Hitz zabalduen multzoa errore estandarrean inprimatuta dago, zenbaki batekin aurretik. Hitzean ez dagoenean, posizio-parametroak inprimatzen dira (ikus PARAMETERAK behean). PS3 gonbita bistaratzen da eta sarrera estandarraren lerroa irakurri. Lerroa bistaratutako hitzetako bati dagokion zenbaki bat bada, orduan izenaren balioa hitz horri ezarriko zaio. Lerroa hutsik baldin badago, hitzak eta eskaera berriro bistaratzen dira. EOF irakurtzen bada, komandoa osatuko da. Beste edozein balio irakurriek nulua ezar dakieke izena. Lerroa irakurritakoan ALDATU DA . Zerrenda hautespen bakoitzaren ondoren exekutatzen da komando-komandoa exekutatzen den arte. Aukeratutako irteeraren egoera zerrendan exekutatutako azken komandoaren irteera da, edo zero komandoak exekutatzen ez badira.

Kasu- hitza [[(] eredua [ | eredua ]

Kasu komandoak lehenengo hitza zabaltzen du eta aldi berean eredu bakoitzaren aurka lotzen saiatzen da, bide- izenaren hedapenarekin bat datorren arauei jarraituz (ikus Pathname Expansion below). Partidaren bat aurkitzen denean, dagokion zerrenda exekutatuko da. Lehenengo partidaren ondoren, hurrengo partidetan ez da saiatu. Irteerako egoera zero da ereduarekin bat datorren. Bestela, zerrendan exekutatutako azken komandoaren irteera da.

zerrenda bada ; ondoren zerrenda; [ elif zerrenda ; ondoren zerrenda ; ] ... [ bestela zerrenda ; ] fi

Zerrenda exekutatzen bada. Bere irteera egoera zero bada, orduan zerrenda exekutatu egingo da. Bestela, elif zerrendako bakoitza aldi berean exekutatzen da eta irteera-egoera zero bada, dagokien zerrenda ondoren exekutatuko da eta komandoa osatuko da. Bestela, beste zerrenda exekutatu egingo da, oraingoan. Irteeraren egoera azken exekutatutako azken irteera egoera da, edo zero baldintza baldintza egiazkoa bada.

zerrenda bitartean ; zerrenda egin ; done

zerrenda arte ; zerrenda egin ; done

Komandoak etengabe exekutatzen du zerrenda , betiere zerrendako azken komandoa zero irteera egoera itzultzen duenean. Komandoa bitartean komandoaren berdina den bitartean , proba ezeztatuta izan ezik; Zerrenda exekutatzen da betiere zerrendako azken komandoa zero irteera-egoera itzultzen duen bitartean. Irteeraren egoera eta komandoak komandoak azken exekuzioaren azken zerrendaren irteeraren egoera da, edo zero exekutatzen ez badira.

[ funtzioa ] izena () { zerrenda ; }

Honek izen izeneko funtzio bat definitzen du. Funtzioaren gorputza {eta} arteko komandoen zerrenda da. Zerrenda hau exekutatzen da komando bakoitza izen gisa zehazten den bakoitzean. Funtzio baten irteera gorputzean exekutatutako azken komandoaren irteera da. (Ikus FUNCTIONS azpitik.)

OHARRAK

Marra ez elkarreragile bat edo interaktiboa den shell-a, hau da, dendako eraikuntza- aukera interaktiboaren aukera gaituta dago (ikus SHELL BUILTIN COMMANDS azpitik), # hitzarekin hasten den hitz batek ez du jaramonik egingo horrelako hitz eta gainerako pertsonaiak. Aukeratutako komando interaktiboak ez dituen shell interaktibo batek ez du iruzkinik onartzen. Interaktiboa_ komentarioen aukera lehenetsi da shell interaktiboetan.

aipatuz

Zenbakiak karaktere edo hitz jakin batzuen esanahi berezia kentzea da. Zenbakiak karaktere berezietarako tratamendu berezia desgaitzeko erabil daitezke, esate baterako, erreserbatutako hitzak saihesteko eta parametroen hedapena saihesteko.

Goiko zerrendan dauden metafektu bakoitzeko DEFINIZIOAK atal berezia du shell-ean eta aipatu behar da bera irudikatzeko.

Komandoaren historiaren hedapen instalazioak erabiltzen ari direnean, historiaren hedapen karakterea normalean ! , historiako hedapena ekiditeko, aipatu behar da.

Hiru aipamen mekanismo daude: ihes-karakterea , komatxo bakunak eta komatxo bikoitzak.

Aipatutako bilaketa barra ( \ ) ihes-karakterea da . Ondorengo hurrengo karakterearen balio literala mantentzen du, izan ezik. \ bikotea agertzen bada eta barraren barra ez da bera aipatzen, \ lerroaren jarraipen gisa tratatzen da (hau da, sarrerako korrontearen kentzen da eta eraginkortasunez baztertuko da).

Komatxo bakarreko karaktere guztiak karaktere bakoitzaren balio literala mantentzen du. Aurrekontu bakar bat ez da komatxo bakar bat ere gerta daiteke, nahiz eta aurreko atalek baino lehenago egin.

Komatxo bikoitzetan karaktereak ixten direnean komatxoen artean karaktere guztien balio literala gordetzen du, $ , ` eta \, izan ezik . Pertsonaiak $ eta ` beren esanahi berezia mantentzen dute komatxo bikoitzetan. Backslash-ek bere esanahi berezia mantentzen du honako karaktere hauetakoren bat jarraitzen denean: $ , ` , " , \ , edo . Aurrekontu bikoitza komatxo bikoitzetan aipa daiteke barra bat aurrez aurrez.

Parametro bereziak * eta @ esanahi berezia dute komatxo bikoitzetan (ikus PARAMETROAK behean).

Forma $ ' katearen hitzak bereziki tratatzen dira. Hitz katea hedatzen du, ordezko barrako karaktereak ANSI C estandarraren arabera zehaztuta. Backslash ihes sekuentziak, gaur egun badira, honela deszifra ditzakegu:

\ a

alerta (kanpaia)

\ b

atzera

\ e

ihes pertsonaia bat

\ f

inprimakiaren jarioa

\ n

lerro berria

\ r

carriage return

\ t

horizontal fitxa

\ v

fitxa bertikala

\\

backslash

\ '

aurrekontu bakarrarekin

\ nnn

zortzi biteko karakterea, zeinaren balioa zortziko balioa nnn (bat edo hiru digitu)

\ x HH

Zortzi biteko karakterea zeinaren balioa HH bitarteko hamaseigarrena ( hatz bat edo bi)

\ c x

kontrol- x karaktere bat

Emaitza hedatua kotizazio bakarrean dago, dolarraren ikurra ez balitz bezala.

Kotizazio bikoitzeko kate batek dolarraren ikurra ( $ ) aurretik agertuko du katea egungo lokalaren arabera itzul dezan. Uneko lokala C edo POSIX bada , dolarraren ikurra ez ikusi egingo zaio. Katea itzulitakoa eta ordeztua bada, ordezkoa bi aldiz kotizatzen da.

PARAMETRO

Parametro bat balioak gordetzen dituen entitatea da. Paragrafo Berezietan azpian azaltzen den karaktere berezi bat izen , zenbaki edo bat izan daiteke. Shell helburuetarako, aldagaiak izen bat adierazten duen parametro bat da. Aldagai batek balio bat eta zero edo gehiago ditu . Atributuak esleitutako deklaraziozko komandoa erabiliz esleitzen dira (ikus SHELL BUILTIN COMMANDS azpitik deklaratu ).

Parametro bat ezarriko da balioa esleitu badio. Kate null baliozko balioa da. Aldagai bat ezarrita dagoenean, uneko eraikitako komandoa erabiliz bakarrik ezarrita egon daiteke (ikus SHELL BUILTIN COMMANDS azpitik).

Aldagai bat formularioaren adierazpen baten bidez esleitu daiteke

izena = [ balioa ]

Balioa ez bada ematen, aldagaia kate null esleituko zaio. Balore guztiak hedapen, parametro eta aldagaien hedapenarekin, komando ordezkaritzarekin, hedapen aritmetikoarekin eta aurrekontuen kenketa (ikus BEZALA behean) daude. Aldagaiak bere osotasunaren atributu multzo badu, balioa hedapen aritmetikoaren menpe egongo balitz ere $ ((...)) hedapena ez da erabiltzen (ikus beheko Aritmetika hedapena ). Word partizioa ez da burutu, "$ @" izan ezik , azpian azaltzen den bezala, Parametro Berezien azpian. Pathname hedapena ez da burutzen. Esleipen adierazpenak argumentu gisa ere agertu daitezke, deklaratu , idatzi , esportatu , irakurri eta eskuz idatzitako komandoak.

Posizioko parametroak

Parametro posizionala digitu bakar bat baino gehiagok adierazten duen parametroa da. Zenbaki bakarrarekin ezarrita dagoen zenbaki bat adierazten du. Posizio parametroak shellaren argumentuei esleitzen zaizkienean esleitutakoak dira, eta berrezarri daitezke setinatutako komandoa erabiliz. Posizio-parametroak ez dira esleitu esleipen-adierazpenekin. Posizio parametroak aldi baterako ordezkatuko dira shell funtzio bat exekutatzen denean (ikus FUNCTIONS azpitik).

Zenbaki bakar bat baino gehiago dituen posizio-parametroa zabalduz gero, giltza- testuan sartu behar da (ikus BEZALA behean).

Parametro bereziak

Shell bereziki zenbait parametro tratatzen ditu. Parametro horiek erreferentziatzat bakarrik egon daitezke; Haien esleipena ez da onartzen.

*

Kokapen parametroei zabaldu egiten zaie, batetik hasita. Zabalkuntza komertzio bikoitzetan gertatzen denean, hitz bakar bat zabalduko da IFS aldagai bereziaren lehen karakterizatutako parametro bakoitzaren balioa. Hau da, " $ * " " $ 1 c $ 2 c ... " baliokidea da, non c IFS aldagaiaren balioaren lehen karakterea. IFS ez bada, parametroak espazioen arabera bereizten dira. IFS nulua bada, parametroak elkarrekin bereizten dira.

@

Kokapen parametroei zabaldu egiten zaie, batetik hasita. Zabalkuntza komatxorik bikoitzetan gertatzen denean, parametro bakoitza beste hitz batera hedatzen da. Hori dela eta, " $ @ " " $ 1 " " $ 2 " baliokidea da ... Noiz ez dago kokapen parametrorik, " $ @ " eta $ @ ezer ez zabaltzeko (hau da, kendu egiten dira).

#

Zenbakizko parametroen posizio kopurua handitzen du.

?

Zabaltzen den lehengo exekutatu aurreko planoko kanalizazioen egoera handitzen du.

-

Zabaldu egiten da uneko aukera markatzaile gisa, zehaztutako gonbidapenaren arabera, setin aginduaren arabera, edo shell berak (adibidez, -i aukeraren arabera) ezarritakoak.

$

Zabaltzen den shell prozesuaren IDa. A () subshell batean, egungo shellaren prozesuaren IDa zabaltzen da, ez subshell.

!

Exekutatu azken atzeko planoko (asinkrono) komandoaren ID prozesura.

0

Shell edo shell script-aren izena zabaltzen du. Hau shell hasieratzean dago. Bash komandoen fitxategi batekin bistaratzen bada, $ 0 fitxategi horren izenean ezarriko da. Bash -c -c aukerarekin hasten bada, $ 0 lehenengoa izango da exekutatuko den katearen ondoren, lehendik badago. Bestela, bash- a aktibatzeko erabiliko den fitxategi-izenean ezartzen da, zero argumentuak ematen duen moduan.

_

Shell startup-en, argumentu zerrendan pasatzen den shell edo shell script izenaren fitxategi absolutua zehazten da. Ondoren, aurreko komandoari azken argumentura zabaltzen da, hedapenaren ondoren. Komando horri esportatutako ingurune batean exekutatutako komando bakoitzaren fitxategi osoa ere ezarri. Posta egiaztatzean, parametro honek unean hautatutako posta fitxategiaren izena dauka.

Shell aldagaiak

Ondorengo aldagaiak shell-ek zehazten ditu:

BASH

Zabaltzen den instrukzio hau aktibatzeko erabiltzen den fitxategi-fitxategi osoarentzat zabaldu egiten da.

BASH_VERSINFO

A readonly array aldagaia zeinen kideek eduki bertsio informazioa bash- instantzia honetarako. Array kideei esleitutako balioak honako hauek dira:

BASH_VERSINFO [ 0]

Zenbakiaren bertsio nagusia ( oharra ).

BASH_VERSINFO [ 1]

Zenbaki bertsio txikia ( bertsioa ).

BASH_VERSINFO [ 2]

Adabakiaren maila.

BASH_VERSINFO [ 3]

Bertsio bertsioa.

BASH_VERSINFO [ 4]

Askatze-egoera (adibidez, beta1 ).

BASH_VERSINFO [ 5]

MACHTYPEren balioa.

BASH_VERSION

Zabaldu egiten da bash- ren instantzia honen bertsioa deskribatzen duen kate batera.

COMP_CWORD

COMP_LINE

Uneko komando lerroa. Aldagai hau egite funtzionalen instalazioek deitzen duten funtzio eta kanpoko komandoetan bakarrik dago eskuragarri (ikusi beheko Bertsio Egitaraua ).

COMP_POINT

COMP_WORDS

Array aldagaia (ikusi beheko Arrays ) uneko komando lerroko hitz bakunak dituena. Aldagai hau amaierako instalazio programagarriek deitzen duten shell funtzioetan bakarrik dago eskuragarri (ikusi Beheko Bertsio Egitaraua ).

DIRSTACK

Array aldagaia (ikusi beheko Arrays ) direktorioa pilaren uneko edukia dutenak. Direktorioak pilaren barruan agertuko dira ordenatzen diren ordenan. Array aldagai honen kideei esleitzeko erabil daiteke pila dagoeneko direktorioak aldatzeko, baina pushd eta popd integratuak direktorioak eta direktorioak gehitzeko erabili behar dira. Aldagai honi esleipenak ez du uneko direktorioa aldatuko. DIRSTACK ezartzen bada, bere propietate bereziak galtzen ditu, berrezarri ostean ere.

EUID

Uneko erabiltzailearen erabiltzaile-IDa eraginkorra bihurtzen da, shell startup-en hasieratzean. Aldagai hau irakur daiteke.

FUNCNAME

Uneko exekuzio shell funtzioaren izena. Aldagai hau shell funtzio bat exekutatzen denean bakarrik existitzen da. FUNCNAME funtzioak ez du eraginik eta errore-egoera bat itzultzen du. FUNCNAME ezartzen bada, bere propietate bereziak galtzen ditu, berrezarri egiten bada ere.

TALDEAK

Uneko erabiltzaileak kidea den taldeen zerrenda duen aldagaia. Taldeei esleipenak ez dute eraginik eta errore-egoera bat itzultzen dute. GROUPS ezartzen bada, bere propietate bereziak galtzen ditu, berrezarri ondoren.

HISTCMD

Historiaren zerrendan dagoen historiaren zenbakia edo indizearen uneko komandoa. HISTCMD ez bada hautatzen , bere propietate bereziak galtzen ditu, berrezarri egiten bada ere.

HOSTNAME

Uneko ostalariaren izenarekin automatikoki ezarri.

HOSTTYPE

Automatikoki zakarrontzira exekutatzen den makina motaren araberakoa den kate batera automatikoki ezarriko da. Lehenetsia sistemaren araberakoa da.

LINENO

Parametro hau erreferentziatzen den bakoitzean, shell zenbakiak zenbaki sekuentzia sekuentzial bat adierazten du (1etik hasita) script edo funtzio baten ordez. Gidoi edo funtzio batean ez bada, ordezkatutako balioa ez da esanguratsua izango. LINENO ezartzen bada, bere propietate bereziak galtzen ditu, berrezarri egiten bada ere.

MACHTYPE

Automatikoki zakarrontzira exekutatzen ari den sistema mota guztiz deskribatzen duen kate batera doa, GNU cpu-enpresa-sistema estandarraren formatu estandarrean. Lehenetsia sistemaren araberakoa da.

OLDPWD

Aurreko laneko direktorioa cd komandoak ezarritako moduan.

OptArg

The getopts buildin komandoa prozesatutako azken aukera argumentuaren balioa (ikusi SHELL BUILTIN COMMANDS behean).

OPTIND

Hurrengo argumentua indarrean dagoen getopts eraikitako aginduaren bidez tratatuko da (ikus SHELL BUILTIN COMMANDS azpitik).

OSTYPE

Automatikoki, bash-ek exekutatzen duen sistema eragilea deskribatzen duen kate bati ezarriko zaio. Lehenetsia sistemaren araberakoa da.

PIPESTATUS

Array aldagaia (ikusi beheko Arrays ), irtenbidearen egoeraren balioak zerrendatzen ditu, azken berrian exekutatu den lehengo kanalizazioan (komando bakarra eduki dezake).

PPID

Shellen gurasoaren prozesuaren IDa. Aldagai hau irakur daiteke.

PWD

Uneko laneko direktorioa cd komandoak ezarritako moduan.

RANDOM

Parametro hau aipatzen den bakoitzean, 0 eta 32767 arteko ausazko zenbaki bat sortzen da. Ausazko zenbakien sekuentzia hasieratu daiteke RANDOM- i balioa esleituz. RANDOM ez badago, bere propietate bereziak galtzen ditu, berrezarri egiten bada ere.

Erantzun

Lerro-lerroan irakurritako komandoa irakurritako lerroko lerroan ezartzen dira argumentuak ematen ez direnean.

SECONDS

Parametro hau erreferentziatzen den bakoitzean, shell invocation izeneko segundo kopurua itzuliko da. Balioa SECONDS- era esleituta baldin badago, ondorengo erreferentzietan itzulitako balioa esleitutako plus-ren balioa esleitutako segundo kopurua da. SECONDS ezartzen bada, bere propietate bereziak galtzen ditu, berrezarri egiten bada ere.

SHELLOPTS

Gaitutako shell aukeren zerrenda bi puntu bereizi. Zerrenda bakoitzeko baliozko argumentu bat da -o aukera multzoin komandoaren arabera (ikus SHELL BUILTIN COMMANDS azpitik). SHELLOPTSen agertzen diren aukerak hauek dira: set -o . Aldagai hau ingurunean hasten denean bash abiatzen denean, zerrendako shell aukera bakoitza gaituta egongo da edozein abioko fitxategiak irakurtzean. Aldagai hau irakurtzeko soilik da.

SHLVL

Aldi bat gehituz, bash- aren instantzia abiarazten da.

UID

Uneko erabiltzailearen erabiltzailearen IDa handitzen du, hasierako shell-en hasieratzean. Aldagai hau irakur daiteke.

Ondorengo aldagaiak shell erabiltzen du. Zenbait kasutan, bash-ek balio lehenetsia ematen dio aldagai bati; Kasu hauetan azpian agertzen dira.

BASH_ENV

Parametro hau ezartzen denean bash shell script bat exekutatzen ari denean, bere balioa komandoak dituen fitxategi-izen gisa interpretatzen du shella hasieratzean, ~ / .bashrc moduan . BASH_ENVren balioa parametroen hedapenarekin, komando ordezkapenarekin eta aritmetikoen hedapenarekin lotuta dago, fitxategi izen gisa interpretatu aurretik. PATH ez da erabiltzen den emaitza izenaren bilaketa bilatzeko.

CDPATH

CD komandoaren bilaketa bidea. Bi karaktere bereizitako direktorioen zerrenda da. Bertan shell komandoak zehaztutako helburuko direktorioak bilatzen ditu. Laginaren balioa ".: ~: / Usr" da.

COLUMNS

Erabilitako hautatutako komandoa erabilita, terminaleko zabalera zehazteko aukeraketa zerrendak inprimatzean. Automatikoki SIGWINCH bat jaso ondoren.

COMPREPLY

Array aldagaia, non bash- ek programazio amaierako instalazio batek deitzen duen shell funtzio batek sortutako osagarri posibleak irakurtzen ditu (ikus Beheko Bertsio Egitaraua ).

FCEDIT

The fc builtin komandoaren editore lehenetsia.

FIGNORE

Koloneko bereizitako zerrenda atzizkiak ezikusi fitxategi-izenaren amaitzean (ikus READLINE azpitik). FIGNOREren sarreretariko bat datorren fitxategiaren izenarekin bat datorren fitxategi-izenen zerrenda baztertuta dago. Laginaren balioa ". O: ~" da.

GLOBIGNORE

Koloreen bereizitako errenkaden zerrenda, izenaren arabera, fitxategi-izenen multzoa zehaztuz. Bide- izenaren hedapen-ereduen arabera datorren fitxategi-izena GLOBIGNOREren ereduetariko bat ere betetzen bada , partiden zerrendatik kenduko da.

HISTCONTROL

Ignorespace- ren balioa ezartzen bada, espazio- karaktere batekin hasten diren lerroak historiako zerrendan ez dira sartuko. Ezarritako ignoratutako balioen artean ezartzen bada , azken lerroko lerroarekin bat datozen lerroak ez dira sartuko. Ezinezko balioa bi aukera konbinatzen ditu. Ezetsi ezean, edo goian aipaturiko beste edozein balioarekin ezarrita badago, analizatzailea irakurtzen duten lerro guztiak historiaren zerrendan gordeko dira, HISTIGNOREren balioaren menpe . Aldagai honen funtzioa HISTIGNORE da . Bigarren lerroko konposatu komertzial baten bigarren eta ondorengo lerroak ez dira probatu, eta HISTCONTROLren balioa kontuan hartu gabe historiara gehitzen dira.

HISTFILE

Komando historian gordetako fitxategiaren izena (ikus HISTORIA azpitik). Balio lehenetsia ~ / .bash_history da . Ezartzen bada, komandoaren historia ez da gordeko shell interaktiboa dagoenean.

HISTFILESIZE

Historiaren fitxategian jasotako lerro kopuru maximoa. Aldagai honek balio bat esleitzen duenean, historiaren fitxategia trunkatuta dago, behar izanez gero, lerro kopuru hori baino gehiago ez edukitzeko. Balio lehenetsia 500 da. Historiaren fitxategia tamainara ere trunkatuta dago, idaztean shell interaktiboa ager dadin.

HISTIGNORE

Komando lerroak historiaren zerrendan gorde behar diren ereduen zerrenda bereizi bat. Eredu bakoitza lerroaren hasieran ainguratuta dago eta lerro osoa bat etorri behar da (` * 'inplizitua ez da atxikita). Eredu bakoitza lerroaren aurka probatzen da HISTCONTROLek zehaztutako egiaztapenak aplikatu ondoren. Karaktere bat datozen shell normalekin batera, ` & 'aurreko historiaren lerroarekin bat dator. ` & 'barrako barra erabiliz ihes egin daiteke; barra alderantzizkoa ezabatzen da partida bat saiatu aurretik. Bigarren lerroko komando konposatu baten bigarren eta ondorengo lerroak ez dira probatu, eta historiari gehituko zaizkio HISTIGNOREren balioa.

HISTSIZE

Komando historian gogoratzeko komando kopurua (ikus HISTORIA azpitik). Balio lehenetsia 500 da.

HOME

Uneko erabiltzailearen etxeko direktorioa. cd eraikitako aginduaren argumentu lehenetsia. Aldagai honen balioa hedapen tilde bat ere egiten denean erabiltzen da.

HOSTFILE

Marko batean ostalariaren izena osatzeko shell-ekin irakurri behar den / etc / hosts formatu berean duen izena du. Ostalariaren osaketa posibleen zerrenda aldatu egin daiteke shell exekutatzen ari den bitartean; hurrengo aldian ostalariaren amaitzapena saiatzen da balioa aldatzen denean, bash- ek fitxategi berriaren edukiak lehendik dagoen zerrendara gehitzen ditu. HOSTFILE ezarrita badago, baina ez du balio, bash saiakera irakurri / etc / hosts ostalariaren izen posibleen zerrenda lortzeko. Noiz HOSTFILE ez dago prestatuta, ostalari-izenen zerrenda garbitzen da.

IFS

Kanpoko Eremuaren bereizlea hedapenaren ostean hitzen bidez zatitzeko eta lerroak lerro zatitzeko lerroak irakurtzeko eraiki komandoarekin. Balio lehenetsia `` '' da.

IGNOREEOF

Elkarrizketa shell baten ekintza kontrolatzen du EOF karakterea sarrera bakarra izan dadin. Ezartzen bada, balioa EOF karaktere jarraian dago eta sarrerako lerroko lehen karaktereak idatzi behar dira. Aldagaiak badago baina balio numerikoa ez badu edo balioa ez badu, balio lehenetsia 10 da. Dagoeneko ez bada, EOFk shell-aren sarrera amaiera adierazten du.

INPUTRC

Lerroaren abioko fitxategiaren fitxategi-izena, ~ / .inputrc- ren lehenetsia gainidatziko duena (ikus READLINE azpitik).

LANG

Eskualdeko kategoria zehazteko erabilitako zehaztapena LC_tik hasita aldagai batekin hautatutako kategoria ez da erabiltzen.

LC_ALL

Aldagai honek LANGren balioa eta beste LC_ aldagaia lokalaren kategoria bat zehazten ditu.

LC_COLLATE

Aldagai honek bide-izenaren hedapenaren emaitzak ordenatzean erabiltzen den ordenazio ordena zehazten du, eta barrutiaren adierazpenen, baliokideko klaseen eta sekuentziak biltzen dituen portaera zehazten du, bide-izenaren hedapenean eta ereduarekin bat etorrita.

LC_CTYPE

Aldagai honek karaktereen interpretazioa eta karaktereen portaerak hedapenaren eta ereduarekin bat etortzearen barruan zehazten ditu.

LC_MESSAGES

Aldagai honek $ bideratutako bi kotizazio bikoitzeko kateak itzultzeko erabiltzen duen lokala zehazten du.

LC_NUMERIC

Aldagai honek zenbakizko formatuan erabilitako locale kategoria zehazten du.

LINES

Hautatu hautatutako komandoa hautatutako hautapen zerrenden zutabearen luzera zehazteko. Automatikoki SIGWINCH bat jaso ondoren.

MAIL

Parametro hau fitxategi izen batetan ezarrita badago eta MAILPATH aldagaia ez badago, bash- ek zehaztutako fitxategian mezuaren etorrera jakinarazten dio erabiltzaileari.

MAILCHECK

Zehaztu zenbat (segundotan) bash posta egiaztatzen du. Lehenetsia 60 segundo da. Posta elektronikoa egiaztatzeko ordua da, shellak lehen galderaren aurretik bistaratzen du. Aldagai hau desegiteko, zeroa edo handiagoa den zenbaki bat ez den balio batera ezarrita badago, shellek posta egiaztatzea desgaitzen du.

MAILPATH

Posta elektronikoa egiaztatzeko fitxategi izenen zerrenda bereizi bat. Mezu bat fitxategian fitxategi batean iristean inprimatzeko mezua zehaztu daiteke `? 'Rekin mezuaren fitxategiaren izena bereizita. Mezuaren testuan erabiltzen denean, $ _ egungo mail fitxategi-izena zabaltzen da. Adibidea:

MAILPATH = '/ var / mail / bfox?' Postak duzu ": ~ / shell-mail?" $ _ Posta du! "'

Bash-ek balio lehenetsia eskaintzen du aldagai honi, baina erabiltzen duen erabiltzaileen posta-fitxategien kokapena sistema menpekoa da (adibidez, / var / mail / $ USER ).

OPTERR

1 balioa ezartzen bada, bash- ek getopts eraikitako komandoak sortutako errore-mezuak bistaratzen ditu (ikus SHELL BUILTIN COMMANDS azpitik). OPTERR 1 hasieratzen da shell-a deitzen den bakoitzean edo shell script bat exekutatzen den bakoitzean.

PATH

Komandoen bilaketa bidea. Komandoak komandoen itxura duen direktorioen zerrenda bereizi bat da (ikus COMMAND EXECUTION azpitik). Bide lehenetsia sistemaren araberakoa da, eta bash instalatzen duen administratzaileak ezartzen du. Balio komun bat `` / usr / gnu / bin: / usr / local / bin: / usr / ucb: / bin: / usr / bin :. '' da.

POSIXLY_CORRECT

Aldagai hau ingurunean hasten denean bash hasten denean, shell posiz modua sartzen hasten diren fitxategiak irakurtzen hasi aurretik, --posix invocation aukera eman bada. Shell exekutatzen ari den bitartean ezartzen bada, bash posix modua gaitzen du, komandoak set -o posix exekutatu balitz bezala.

PROMPT_COMMAND

Ezartzen bada, balioa komando gisa exekutatuko da lehen galderarik igorri aurretik.

PS1

Parametro honen balioa handitu egiten da (ikus beherago PROMPTING ) eta lehen galderaren kate gisa erabiltzen da. Balio lehenetsia `` \ s- \ v \ $ '' da.

PS2

Parametro honen balioa PS1 bezalakoa da eta bigarren mailako galderen kate gisa erabiltzen da. Lehenetsia `` > '' da.

PS3

Parametro honen balioa hautapen komandoaren gonbita gisa erabiltzen da (ikus SHELL GRAMMAR goian).

PS4

Parametro honen balioa PS1 bezalakoarekin zabalduko da eta balioa inprimatuko da bash bistaratze bakoitzaren aurretik exekuzioaren aztarna batean. PS4aren lehen karakterea hainbat aldiz errepikatzen da, beharrezkoa denean indirezio maila bat baino gehiago adierazteko. Lehenetsia `` + '' da.

TIMEFORMAT

Parametro honen balioa formatu-kate gisa erabiltzen da, denbora-tartearen hitzaurrearekin aurrez aurreztutako hodi-informazioa nola zehazten den zehazteko. % Karaktereak denbora-balioa edo bestelako informazioa hedatzen duen ihes-sekuentzia bat aurkezten du. Ihes sekuentziak eta haien esanahiak honako hauek dira; giltzak aukerako zatiak adierazten dituzte.

%%

% Literal bat.

% [ p ] [l] R

Denbora igarota segundotan.

% [ p ] [l] U

Erabiltzailearen moduko CPU segundo kopurua.

% [ p ] [l] S

Sistemaren moduan igarotako CPU segundo kopurua.

% P

PUZaren ehunekoa, (% U +% S) /% R kalkulatua.

Hautazkoa p zenbaki bat zehazten duen digitu bat da, zenbaki hamartar bat zenbaki hamartar bat erabiliz. 0 balio batek ez du zatikizerik edo frakzio hutsa sortzen. Zenbaki hamartarren ondoren hiru leku gehienetan zehaztu daiteke; 3 baino gehiagoko balioak 3 aldatzen dira. P ez bada zehazten, balioa 3 erabiltzen da.

Aukerazko aukerei formatu luzeagoa ematen zaie, minutuak barne, MM m SS formarekin. FF s. P- ren balioak frakzioa hartzen duen ala ez zehazten du.

Aldagai hau ez badago, bash balioa balitz bezala $ '\ nreal \ t% 3lR \ nuser \ t% 3lU \ nsys% 3lS balioa izan zen . Balioa null bada, ez da denbora-informazioa bistaratuko. Lerro berri bat gehitzen da formatu-katea bistaratzen denean.

TMOUT

Zero baino handiagoa den balioa ezartzen bada, TMOUT irakurketa eraikiaren denbora-muga lehenetsia bezala tratatuko da. Aukeratutako komandoa amaitzen da sarrerarik ez bada iristen TMOUT segundoak sarrera terminal batetik datozen. Elkarreragin shell batean, balioa bigarren instantzia igorri ostean sarrera itxarorako segundo kopurua interpretatzen da. Bash amaituko da segundo kopuru hori itxaron ondoren sarrerak ez badira iristen.

auto_resume

Aldagai honek nola funtzionatzen du shell erabiltzailearekin eta laneko kontrolarekin. Aldagai hau ezarrita badago, komandoa modu errazean errepikatu gabe geratzen diren komandoak lehendik dagoen lan gelditu baterako hautagai gisa tratatuko dira. Ez da inolako anbiguotasunik onartzen; lan bat baino gehiago badago katea idatzita hasten bada, azkenaldian sar zaitezkeen lana hautatuko da. Lan gelditu baten izena , testuinguru honetan hasten den komando lerroa da. Balio zehatza ezartzen bada, emandako kateak lan gelditu baten izena behar du zehazki; azpimarratu ezartzen bada, emandako kateak gelditutako lan baten izenaren azpimultzoarekin bat etorri behar du. Sargentziaren balioak funtzionalitatea %? Laneko identifikatzailea (ikus JOB CONTROL beherago). Beste edozein balio ezarri gabe, hornitutako kateak gelditutako lanaren izenaren aurrizkia izan behar du; funtzionalitate hori % lan identifikatzaile bezala ematen du.

histchars

Bi historiako hedapen eta tokenization kontrola duten bi edo hiru karaktere (ikus HISTORIA KUDEAKETA azpitik). Lehen karakterea historiaren hedapen karakterea da, historiaren hedapenaren hasiera adierazten duen karakterea, normalean ` ! '. Bigarren karakterea ordezkapen karaktere azkarra da, hau da, aurreko komandoa berriro exekutatzen ari den taupada gisa erabiltzen da, komandoaren beste bat katea ordezkatuz. Lehenetsia ` ^ 'da. Aukerako hirugarren karakterea karakterea da, lerroaren gainerakoa komentua dela adierazten duen hitz baten lehen karaktere gisa, normalean ' # '. Historiaren iruzkinen karaktereak historiaren aldaketak lerroko gainerako hitzetatik saltzeko aukera ematen du. Ez du nahitaez shell analizatzailea lerroaren gainerako iruzkina tratatzeko.

arrayak

Bashek bat dimentsioko matrizearen aldagaiak eskaintzen ditu. Edozein aldagai array gisa erabil daiteke; eraikuntza deklaratzaileak esplizituki esanda array bat. Ez dago array baten tamainaren muga maximorik, ezta bazkideek indexatu edo esleitutako baldintzarik ere. Matrizeak zenbaki osoen bidez indexatzen dira eta zero oinarritutakoak dira.

Multzoa automatikoki sortzen da sintaxiaren izena erabiliz [edozein] aldagaiaren arabera [ subscript ] = balioa . Azpiindizea zero edo handiagoa den zenbaki batera ebalua daitekeen adierazpen aritmetiko bezala tratatzen da. Array bat esplizituki adierazteko, erabili deklaratu -a izena (ikus SHELL BUILTIN COMMANDS azpitik). deklaratu -a izena [ subscribe ] ere onartuko da; azpiindizea baztertzen da. Atributuak array aldagai bat zehaztu ahal izango dira deklarazioa eta readonly eraiki erabiliz. Atributu bakoitza array baten kide guztiei aplikatzen zaie.

Matrizeak formularioaren izenaren esleipen konposatuak erabiliz esleitzen zaie ( balio 1 ... balioa n ) , non balio bakoitza [ subscript ] = katea da . Kate bakarra beharrezkoa da. Aukerako parentesi eta azpiindizea hornitzen badira, indize hori esleituko zaio; Bestela, esleitutako elementuaren indizea azken adierazlearen adierazpena plus bat da. Indizea hasten da zero. Sintaxi hau aitortzen du onartu ere. Banakako matrizearen elementuei gainjarrita izenaren izena [ subscript ] = balioaren sintaxia erabil daiteke.

Ezarritako eraikina arrayak suntsitzeko erabiltzen da. Uneko izena [ subscript ] array elementua suntsitzen du indize- azpisektorean . Ez dago izenik , non izena array bat da, edo ez dago izenik [ subscript ], non azpidirektorioa * edo @ , array osoa ezabatzen du.

Konstelazio, tokiko , eta readonly eraikitako bakoitzean onartzen -a aukera array bat zehazteko. Irakurzaletasuna onartzen du -a aukera bat arau bateko sarrera estandarrari irakurritako hitzak zerrendatzeko. Multzoa eta deklaratuak eraikitakoak erakutsi array-balioak modu batera erabil daitezkeen esleipenak berrerabiltzeko.

HEDAPENA

Expansion komando lerroan egiten da hitzen artean zatitu ondoren. Zazpi hedapen mota daude: giltza hedapena , hedapen tilde , parametroa eta hedapen aldakorra , komando ordezkapena , hedapen aritmetikoa , hitz-banaketa eta bide-izenaren hedapena .

Hedapenen ordena honako hau da: giltza hedapena, hedapen tilde, parametroa, aldagai eta aritmetika hedapena eta komando ordezkapena (ezkerreko eskuinerantz egiten den moduan), hitzen zatiketa eta bide-izenaren hedapena.

Onartzen duten sistemetan, hedapen gehigarria dago eskuragarri: prozesuen ordeztea .

Brace Expansion

Brace hedapena mekanismo horren bidez kate arbitrarioak sortu daitezke. Mekanismo hau bide- izenaren hedapenaren antzekoa da, baina sortutako fitxategi-izenak ez dira existitzen. Giltza zabaldu beharreko ereduak aukerako aukeretako baten forma hartu behar da, ondoren komaz bereizitako kateen serie bat giltzen artean, eta ondoren, aukerako mezu bat . Aurreproiektuak giltzen barruan dauden kate bakoitzerako aurrizkia da eta PostScripta kate bakoitzari eransten zaio, ezkerretik eskuinera.

Banda hedapenak habiaratu daitezke. Kate zabaldu bakoitzaren emaitzak ez daude ordenatuta; Eskuinetik ezkerrera gordetzen da. Adibidez, { d, c, b } e 'ade ace abe' bihurtzen da.

Brace hedapena beste edozein hedapen baino lehen egiten da, eta beste karaktere batzuek beste hedapen batzuek emaitza berezian gordetzen dituzte. Testu hutsa da. Bashek ez du interpretazio sintaktikorik aplikatzen hedapenaren testuinguruan edo giltzen arteko testua.

Eraikuntza hau ohiko taulan erabiltzen da, sortutako kateen aurrizki komuna goiko adibidean baino luzeagoa denean.

mkdir / usr / local / src / bash / {old, new, dist, bugs}

edo

Chown root /usr/{ucb/{ex.edit},lib/{ex?.?*,how_ex}}

Brace-ren hedapenek sh- ren bertsio historikoekin bateraezintasun txiki bat aurkezten dute. sh ez du irekitzen edo ixteko giltzak bereziki hitz baten zati gisa agertzen direnean, eta irteeran gordetzen ditu. Bashek giltzak kentzen ditu hitzetatik, giltza hedapenaren ondorioz. Adibidez, sh fitxategi gisa {1, 2} izeneko hitz bat idaztean agertzen da irteeran. Hitz berdina file1 file2-ra irteera da, bash- ren hedapenaren ondoren. Sh bateragarritasun zorrotzak nahi badituzu, hasi Bash + B aukerarekin edo desplazatu giltza hedapenarekin B + B aukerarekin set komandoarekin (ikus SHELL BUILTIN COMMANDS azpitik).

Tilde Expansion

Hitz bat bereizten duen tilde karakterearekin hasten bada (` ~ '), lehendabiziko zerrendatutako lehendabiziko karaktere guztiak (edo karaktere guztiak, bereizitako barra ez badago) tilde-aurrizki bat bezala hartzen dira. Tilfo-aurrizkiko karaktere bat ere aipatzen ez badute, tilde ondorengo tilde-prefixeko karaktereak saio-izen posible gisa tratatuko dira. Saioa hasteko izen hori kate nulua bada, tilde ordeztuko den shell parametroaren balioa ordezkatzen du. Etxea desegiteko bada, shell ordez exekutatzen duen erabiltzailearen etxeko ordez ordeztuko da. Bestela, tilde-aurrizkia zehaztutako login izenarekin lotutako etxeko direktorioarekin ordeztuko da.

Tilfo-aurrizkia `~ + 'bada, PWD shell aldagaien balioak tilde-prefix ordezkatzen du. Tilfo-aurrizkia `~ - 'da baldin badago , OLDPWD shell aldagaiaren balioa , ezarri bada, ordezkatuko da. Taldekako aurrizkiaren tildearen ondorengo karaktereak N zenbaki bat dute, aukera bat '+' edo `- 'baten aurrizkia bada, tilde-prefijoak direktorioaren pila duen dagokion elementuarekin ordeztuko du, bistaratuko litzatekeen bezala Eskuinarekin marraztutako aurrizkia erabiliz argumentu gisa erabili ziren. Tilen aurrizkiaren tildearen ondorengo karaktereak zenbaki bat osatzen dute `+ 'edo` -' liderra gabe, `+ 'suposatzen da.

Saio-izena baliogabea baldin bada edo tilde hedapena huts egiten badu, hitza ez da aldatuko.

Aldagaiaren esleipen bakoitza uneko ebakidura-aurrizkiak hautatuta dago : a = edo = . Kasu horietan, hedapen tilde ere egiten da. Ondorioz, fitxategien izenak erabili ditzakezu PATH , MAILPATH eta CDPATH karakteretan , eta shellak zabaldutako balioa esleitzen du.

Parametroaren hedapena

' $ ' Karaktereak parametroen hedapena, komando ordezkapena edo hedapen aritmetikoa aurkezten ditu. Parametroaren izena edo ikurrak zabalduko dira giltzen artean, hautazkoak izango dira, baina aldagaiaren arabera aldatzeko aukera izango dute, izenaren zati gisa interpretatu ahal izango diren karaktereetatik zabaltzeko.

Giltzak erabiltzen direnean, bat datorren amaierako giltza lehen ` } 'ez da barra bat edo kotizatutako kate baten barruan ihes egiten, eta ez da kapsulatutako hedapen aritmetiko bat, komando ordezkapena edo parametroaren hedapena.

Parametroaren balioa ordezten da. Giltzak beharrezkoak dira parametroa digitu bat baino gehiagoko posizio parametro bat denean edo parametroa bere izenaren zati gisa interpretatu ez den karaktere baten ondoren.

Beheko kasu bakoitzean, hitza hedapenaren tilde gaia da, parametroen hedapena, komando ordezkapena eta hedapen aritmetikoa. Azpitik hedatzen ari ez denean, bash probak egiten direnean ezartzen edo ezartzen den parametro bat; Kolesterolaren emaitzak proba batean bakarrik ezabatzen ez diren parametroetarako.

Erabili balio lehenetsiak . Parametroa ez bada edo null, hitzaren hedapena ordeztu egingo da. Bestela, parametroaren balioa ordezkatuko da.

Ezarri balio lehenetsiak . Parametroa ez bada edo null, hitzaren hedapena parametroari esleitzen zaio. Parametroaren balioa ordezkatuko da. Posizio-parametroak eta parametro bereziak ez dira modu honetan esleitu.

Bistaratu errorea Null edo Unset . Parametroa nulua bada edo ezarria badago, hitzaren hedapena (edo horrelako mezua hitzik ez badago) errore estandarrean idatziko da eta shellak, interaktiboa ez bada, irten egiten du. Bestela, parametroaren balioa ordezkatuko da.

Erabili ordezko balioa . Parametroa ez bada edo ez dago ezarrita, ez da ezer ordezkatuko, bestela hitzaren hedapena ordezkatuko da.

Aldagaien izenak zabaldu egiten ditu izena hasten duten aldagaiekin, IFS aldagai bereziaren lehen karakterearekin bereizita.

Parametroaren balioa duen karaktereko luzera ordezkatuko da. Parametroa * edo @ bada , ordezkatutako balioa parametro posizionalen kopurua da. Parametroa * edo @ bidez harpidetutako izenen matrizea bada, balioaren ordez arrayaren elementu kopurua da.

Hitz zabaltzen da eredu bat sortzeko bide-izenaren hedapen bezalakoa. Eredua parametroaren balioaren hasierarekin bat etortzen bada, hedapenaren emaitza parametroaren balio zabaldua da bat datorren eredu laburrenarekin (`` # '' kasuarekin) edo bat datozen eredu luzeena (`` ## '') 'kasua) ezabatu da. Parametroa @ edo * bada , eredu kentzeko eragiketa parametro posizional bakoitza aldi berean aplikatzen da, eta hedapena emaitza da. Parametroa @ edo * rekin sinkronizatutako aldagai bat bada, patroiaren kentzeko eragiketa array bakoitzeko kide bakoitzari aplikatzen zaio aldi berean, eta hedapena emaitza da.

Hitz zabaltzen da eredu bat sortzeko bide-izenaren hedapen bezalakoa. Eredua parametroaren balio zabalduaren amaierako zatiarekin bat badator, orduan hedapenaren emaitza parametroaren balio zabaldua da bat datorren eredu laburrenarekin (`` % '' kasuarekin) edo bat datozen eredu luzeagoekin (`` % % '' kasua) ezabatu da. Parametroa @ edo * bada , eredu kentzeko eragiketa parametro posizional bakoitza aldi berean aplikatzen da, eta hedapena emaitza da. Parametroa @ edo * rekin sinkronizatutako aldagai bat bada, patroiaren kentzeko eragiketa array bakoitzeko kide bakoitzari aplikatzen zaio aldi berean, eta hedapena emaitza da.

Eredua zabaldu egiten da eredu bat sortzeko bide-izenaren hedapen bezalakoa. Parametroa handitu egiten da eta bere balioaren aurkako ereduarekin alderik luzeena katearekin ordezten da. Lehenengo moduan, lehenengo partida bakarrik ordezkatuko da. Bigarren inprimakiak ereduarekin bat datozenak guztiak katearekin ordezkatuko ditu. # Eredua hasten bada, parametroaren zabaleraren balioaren hasieran bat etorri behar da. Patroia % hasten bada, parametroaren balio zabalduaren amaieran bat etorri behar du. Katea baliogabea bada, ereduarekin bat datozenak ezabatuko dira eta / ondorengo eredua ezeztatu egin daiteke. Parametroa @ edo * bada , ordezko eragiketa behin-behineko parametro bakoitzari aplikatzen zaio aldi berean, eta hedapena emaitza da. Parametroa @ edo * rekin sinkronizatutako matrize-aldagaia bada, ordezko eragiketa array bakoitzeko kide bakoitzarentzat aplikatuko da aldi berean, eta hedapena emaitza da.

Komandoaren ordez

Komandoen ordezpenak komando baten irteera komandoaren izena ordezkatzeko aukera ematen du. Bi forma daude:

$ ( komandoa )

edo

` komandoa '

Bashek hedapena egiten du komandoa exekutatzean eta komando ordezkapena ordezkatuz komandoaren irteera estandarrarekin, ezabatutako hurrengo lerroekin. Lineaz kanpoko lerro txertatuak ez dira ezabatu, baina hitz desberdinetan zehar ezabatu daitezke. Komandoaren ordezpena $ (kat fitxategia ) $ baliokidea baina azkarragoa (< fitxategia ) ordezka daiteke.

Zaharberritze euskarriaren ordezkapen formala erabiltzen denean, barrako barrak bere esanahi literala mantentzen du $ , ` , edo \ ' jarraian izan ezik. Backslash batek ez duen aurreko backquote komandoaren ordez. $ ( Komando ) inprimakia erabiltzean, parentesien artean karaktere guztiak osatzen dute komandoa; inor ez dira bereziki tratatzen.

Komandoen ordezkapenak habiaratu daitezke. Backquoted formarekin erabiltzerakoan habiaratuta, barruko bizkarrezurrak barra-barrutik ihesi doaz.

Ordezkapena komatxorik bikoitzetan agertzen bada, hitz-banaketa eta bide-izenaren hedapena ez dira emaitzetan egiten.

Arithmetic Expansion

Aritmetika hedatzeak aritmetika-adierazpen baten ebaluazioa eta emaitza aldatzea ahalbidetzen du. Expansion aritmetikoaren formatua honako hau da:

$ (( adierazpena ))

Espresioa komatxo bikoitzen artean balitz bezala tratatzen da, baina parentesi artean aurrekontu bikoitza ez da bereziki tratatzen. Espresioaren tokiko toki guztiek parametroen hedapena, kate hedapena, komando ordezkapena eta aurrekontuaren kentzea izaten dute. Aldaketa aritmetikoak habiaratuta egon daitezke.

Ebaluazioa ARITHMETIC EVALUATIONren azpian azaltzen diren arauen arabera egiten da . Espresioa baliogabea bada, bash- ek mezu bat adierazten du porrota adieraziz eta ez da ordezten.

Prozesuaren ordez

Prozesuaren ordezketa onartzen diren hodiak ( FIFOs ) edo / dev / fd fitxategien izenak izendatzen dituzten sistemetan onartzen dira. <( Zerrenda ) edo > ( zerrenda ) forma hartzen du. Prozesuen zerrenda FIFO edo fitxategi bat / dev / fd-ekin konektatuta dagoen sarrera edo irteera batekin exekutatzen da. Fitxategi honen izena uneko komandoko argumentu gisa gainditzen da hedapenaren ondorioz. Forma ( zerrenda ) erabiltzen bada, fitxategira idatziz zerrendako sarrera emango du. <( Zerrenda ) inprimakia erabiltzen bada, argumentu gisa pasatutako fitxategia irakurri beharko litzateke zerrendaren irteera lortzeko.

Eskuragarri daudenean, prozesuaren ordezketa aldi berean egiten da, parametro eta aldagai hedapenarekin, komando ordezkapenarekin eta hedapen aritmetikoarekin.

Hitzaren banaketa

Shell-ek parametroen hedapen, komando ordezkapen eta hedapen aritmetikoen emaitzak aztertzen ditu, hitzen bereizketarako komatxo bikoitzetan ez bezala.

Marrazkiak IFS karaktere bakoitza delimitatzaile gisa tratatzen du eta beste hedapenen emaitzak karaktere horietako hitzetan banatzen ditu. IFS ezartzen bada, edo bere balioa zehazki , lehenetsia, IFS karaktereen sekuentziak hitzak mugatzeko balio du. IFS- k lehenetsitakoa ez den beste balio bat badu, orduan zuriuneen karaktereen espazioa eta fitxaren sekuentziak ez dira kontuan hartuko hitzaren hasieran eta amaieran, betiere zuriuneen izaera IFSren balioa IFS ( IFS ). IFS ez den IFS edozein zuriunetako edozein, IFS aldameneko zuriunetako karaktereekin batera, eremu bat zehazten du. IFS zuriunetako karaktereen sekuentzia delimitatzaile gisa ere tratatzen da. IFS balioa null bada, hitz-banaketa ez da gertatzen.

Argumentu zurian esplizituak ( "" edo "" ) mantentzen dira. Seigarren inplizituak argumentu nuluak, balio ez duten parametroen hedapenaren ondorioz, kendu egiten dira. Balio ez duen parametroa komatxo bikoitzetan zabaltzen bada, argumentu nulua emaitzak eta mantentzen dira.

Kontuan izan hedapenik ez badago, zatiketa ez da burutu.

Pathname Expansion

Hitzaren zatiketa ondoren, -f aukerarik ez badago, bash-ek hitz bakoitza hautatzen du karaktereentzat * ,? , eta [ . Karaktere horietako bat agertzen bada, orduan hitza eredu gisa hartuko da eta ereduarekin bat datorren fitxategi izenen alfabetikoki ordenatutako zerrenda batekin ordeztuko da. Bat datozen fitxategien izenak ez badira aurkitzen, eta shell aukera nullglob desgaituta dago, hitza ez da aldatu. Nullglob aukera ezarrita badago eta parekorik ez badago, hitza kendu egingo da. Shell aukera nocaseglob gaituta badago, partida karaktere alfabetikoen kasuan izan ezik egiten da. Bandera bat hedatzeko erabiltzen den eredua izenaren hasieran edo "barra" baten ondoren dagoen karakterea esplizituki bat etorri behar da, shell aukera dotglob ezarrita egon ezean. Bide-izen bat bat datorrenean, barrako karakterea betirako agertuko da. Beste kasu batzuetan, ``. '' Karakterea ez da bereziki tratatzen. Ikusi SHELL BUILTIN COMMANDSen azpian denda denda honen deskribapena nocaseglob , nullglob eta dotglob shell aukeren azalpenetarako .

GLOBIGNORE shell aldagaiak eredu batekin bat datozen fitxategien izen multzoak murrizteko erabil daiteke. GLOBIGNORE ezarrita badago, GLOBIGNOREren ereduekin bat datorren bat datozen fitxategi izenekin batera datorren zerrendan ezabatuko da. '`.' ' Eta` `..' ' fitxategien izenak beti ez dira kontuan hartuko, nahiz eta GLOBIGNORE ezarri. Hala eta guztiz ere, GLOBIGNOREk dotglob shell aukera gaitzen duen eragina du eta, beraz, '` . '`.' '' ' Hasieratik hasten diren fitxategien izenak alde batera utzita, ` `. *' '' GLOBIGNOREren ereduetariko bat egin . Puntualtzeko aukera desgaituta dago GLOBIGNORE ez dagoenean.

Eredua lotzea

Eredu batean agertzen den edozein karaktere, behean deskribatutako eredu berezia duten karaktereak baino ez dira betetzen. NUL karakterea ez da eredu batean gertatzen. Eredu eredu bereziak karakterizatu behar dira, literalki bat datozela.

Eredu eredu bereziak honako esanahiak dituzte:

*

Kate edozein parekatzen du, kate nulua barne.

?

Karaktere bakarrarekin bat egiten du.

[...]

Itzalitako karaktere bat betetzen du. Karaktere batek bereizitako karaktere pare batek barraren adierazpena adierazten du; Bi karaktere horien artean sailkatzen diren karaktereak, biak barne, uneko kokapenaren bilketa sekuentzia eta karaktere multzoa erabiliz bat datoz. Lehenengo karakterea [ hau da ! edo, orduan, ez dago inolako karaktere bat datorrenarekin. Barrutiaren adierazpenetan karaktereen ordena ordenatzen du uneko lokalea eta LC_COLLATE shell aldagaiaren balioa zehazten bada. A - multzoan lehen edo azken karaktere gisa sartuta egon daiteke. A ] konbinatuta egon daiteke multzoan lehen karaktere gisa.

[ Eta ] karaktere-klaseetan zehaztu daiteke sintaxia [: klase :] erabilita, klaseak POSIX.2 estandarraren arabera definitutako ondorengo klaseetako bat da:

alnum alfa ascii blank cntrl digitua grafikoa beheko letra inprimatzeko zutabe espazioa goiko hitza xdigit
Karaktere-klaseak klase horretako edozein karakterekin bat egiten du. Karaktere-klasearen hitzak letrak, digituak eta karaktereak bat egiten ditu.

[ Eta ] barruan, baliokidetza klase bat zehaztu daiteke [= c =] sintaxia erabiliz, karaktere guztiekin bat datozen karaktereekin (egungo lokalek zehazten duten moduan) pertsonaia c gisa.

[ Eta ] barruan, sintaxia [. ikur .] biltzen ikurren ikurra betetzen du .

Extglob shell aukera gaituta badago shopt eraikinaren bidez, hainbat eredu hedatuekin bat datozen operadoreei aitortzen zaizkie. Ondorengo azalpenean, eredu-zerrenda batek bereizten dituen eredu bat edo gehiago zerrenda bat da . Konposite ereduak honako azpiproiektu bat edo gehiago erabiliz eratu daitezke:

? ( eredu-zerrenda )

Emandako ereduen itxura zero edo bat datoz

* ( eredu-zerrenda )

Emandako ereduen agerraldi zero edo gehiago bat datoz

+ ( eredu-zerrenda )

Emandako ereduen agerraldi bat edo gehiago bat datoz

@ ( eredu-zerrenda )

Esandako ereduetako bat betetzen du

! ( eredu-zerrenda )

Emandako ereduetako bat izan ezik dator bat

Aurrekontua kentzea

Aurreko hedapenen ondoren, gainjarritako baten ondorioz ez ziren karaktereen \ , ' eta \ " agerraldi guztiak ezabatu egin dira.

REDIRECTION

Komando bat exekutatzen denean, sarrera eta irteera birbideratuko dira shell-ek interpretatutako notazio berezia erabiliz. Birbideratzea ere erabil daiteke egungo shell exekuzio ingurunean fitxategiak irekitzeko eta itxi. Hurrengo birbideratze operadoreek komando soil baten atzean edo agertzen zaizkienean edo komando bat jarraitu dezakete. Birzuzenketak prozesatzen diren ordenean prozesatzen dira, ezkerretik eskuinera.

Ondorengo deskribapenetan, fitxategiaren deskriptore kopurua ez bada betetzen, eta birbideratze operadorearen lehen karakterea < , birbideratzea sarrera estandarrari (file descriptor 0) dagokio. Birbideratze operadorearen lehen karakterea > bada , birbideratzea irteera estandarrari egiten zaio erreferentzia (fitxategi-deskriptorea 1).

Hurrengo deskripzioen birbideratze operadorearen ondorengo hitzen arabera, adierazi ezean, hedapenaren giltza, hedapen tilde, parametroaren hedapena, komando ordezkapena, hedapen aritmetikoa, aurrekontuaren kenketa, bide-izenaren hedapena eta hitz-banaketa. Hitz bat baino gehiago zabaltzen badira, bash- ek errorea adierazten du.

Kontutan izan birzuzenketen ordena esanguratsua dela. Adibidez, komandoa

ls > dirlist 2 > & 1

irteera estandarraren eta errore estandarra zuzentzen du fitxategi dirlistrari , komandoa dagoen bitartean

ls 2 > & 1 > dirlist

Irteera estandarra soilik zuzentzen du dirlist-ean , estandar errorea irteera estandar gisa bikoiztu delako irteera estandarretik dirlistera birbideratu aurretik .

Bash- ek hainbat fitxategi-izenak kudeatzen ditu bereziki birbideratzeetan erabiltzen direnean, hurrengo taulan azaldu bezala:

/ dev / fd / fd

Fd baliozko zenbaki oso bat bada, fitxategi deskribatzailea fd bikoiztu egingo da.

/ dev / stdin

Fitxategi deskriptorea 0 bikoiztua da.

/ dev / stdout

Fitxategi deskriptorea 1 bikoiztua da.

/ dev / stderr

Fitxategi deskriptorea 2 bikoiztua da.

/ dev / tcp / host / port

Ostalaria baliozko ostalari izena edo Interneteko helbidea bada, eta ataka osoko portuaren zenbakia edo zerbitzu-izena da, bash- ek TCP konexio bat socket egokiarekin irekitzen saiatzen da.

/ dev / udp / host / port

Ostalaria baliozko ostalari izena edo Interneteko helbidea bada, eta ataka zenbaki osoko portuaren zenbakia edo zerbitzu-izena da, bash- ek UDP konexio bat irekitzeko saiakera egokia egiten saiatzen da.

Fitxategia irekitzeko edo sortzeko hutsegitea hutsegitea huts egiten du.

Sarrera birbideratzea

Sarrerako birbideratzea fitxategiaren izena deskribatzailea irekitzean irekiko den hitzaren hedapenetik sortzen da, edo sarrera estandarra (fitxategi-deskriptorea 0) irakurtzen du, n ez bada zehazten.

Sarrera birzuzenketarako formatu orokorra honako hau da:

[ n ] < hitza

Irteera birbideratzea

Irteera birbideratzea fitxategiaren izena deskribatzailea irekitzean irekiko den hitzaren hedapenetik sortzen da, fitxategi-deskriptorea n , edo irteera estandarra (fitxategi-deskriptorea 1), n zehazten ez bada. Fitxategia ez badago sortu da; existitzen ez bada zero tamaina txikitzen da.

Irteera birbideratzeko formatu orokorra honako hau da:

[ n ] > hitza

Birbideratze operadorea > bada , eta noclobber aukerarekin multzo integratua aktibatuta dago, birbideratzea huts egingo du hitza izenaren hedapenetik sortzen den fitxategia eta fitxategi arrunta da. Birbideratze operadorea bada >> , edo birbideratze operadorea da > eta noclobber-en aukeratutako setin komandoaren aukera ez dago gaituta, birbideratzea saiatzen da hitzarekin izendatutako fitxategia badago ere.

Birbidalitako irteera erantsiz

Modu honetan irteeraren birzuzenketak fitxategiaren izenaren deskribapenetik zabaltzen den hitzaren hedapenetik sortzen du, fitxategi deskribatzailea n , edo irteera estandarra (fitxategi deskribatzailea 1) n bada zehazten ez bada. Fitxategia ez badago sortu da.

Irteera eransteko formatu orokorra honako hau da:

[ n ] >> hitza

Irteera estandarra eta errore estandarra birbideratzea

Bash-ek irteera estandarra (fitxategi-deskriptorea 1) eta irteera estandarraren irteera (fitxategi-deskriptorea 2) aukera ematen du, zeinaren izena eraikuntza honen hitza zabaltzen den.

Formatu estandarrak eta errore estandarra birbideratzeko bi formatu daude:

&> hitza

eta

> & hitza

Bi forma hauen bidez, lehena nahiago da. Hau semantikoki baliokidea da

> hitza 2 > eta 1

Hemen dokumentuak

Birbideratze mota honek shell-a irakurtzeko uneko iturria irakurtzen du, hitz bakarra duten lerroak (atzeko planoak ez direnak) ikusten diren arte. Une horretarako irakurritako lerro guztiak komando baten sarrera estandarra bezala erabiltzen dira.

Hemen dokumentuak formatua honako hau da:

<< [ - ] hitza hona hemen dokumentuaren mugatzailea

Parametroen hedapena, komando ordezkapena, hedapen aritmetikoa edo bide-izenaren hedapena hitzetan egiten dira . Hitzaren karaktere batzuk aipatzen badira, mugatzailea aurrekontuaren kenketaren emaitza da, eta hemengo dokumentuaren lerroak ez dira zabaltzen. Hitzik gabea bada, hemen-dokumentuaren lerro guztiak parametroen hedapenarekin, komando ordezkapenarekin eta hedapen aritmetikoarekin lotuta daude. Azken kasu horretan, \ karakterearen sekuentzia ez ikusi egiten da eta \ , $ , eta ` karaktereei aurpegiratu behar zaie.

Birbideratze operadorea << - bada , ondorengo fitxa karaktere guztiak sarrera lerroetatik eta lerroz mugitzen diren lerroetatik kenduko dira. Honek shell dokumentuetan dokumentuak hemen naturalki koska daitezkeela ematen du.

Hemen kateak

Hemen dokumentu honen aldaera, formatua hau da:

<<< hitza

Hitza zabaltzen da eta komandoari ematen zaio bere sarrera estandarrean.

Fitxategi deskriptoreak bikoiztu

Birbideratze operadorea

[ n ] hitza

sarrerako fitxategi deskribatzaileak bikoizteko erabiltzen da. Hitz bat edo gehiago digitu batera zabaltzen badira, n deskribatutako fitxategi-deskriptorea fitxategiaren deskribatzaile horren kopia bat izango da. Hitzeko digituek ez dute sarrera fitxategi bat irekita irekitzean, birbideratze errore bat gertatzen da. Hitz ebaluatzen bada - , fitxategi deskribatzailea n itxita dago. N ez bada zehazten, sarrera estandarra (fitxategi-deskriptorea 0) erabiltzen da.

Operadoreak

[ n ] > eta hitza

Irteerako fitxategi deskribatzaileak bikoiztu egiten dira. N ez bada zehazten, irteera estandarra (fitxategi-deskriptorea 1) erabiltzen da. Hitzaren digituek ez dute irteerarako irekitako fitxategi deskribatzailea zehazten, birbideratze errore bat gertatzen da. Kasu berezi gisa, n ezabatuta badago, eta hitza ez da digitu bat edo gehiago zabaldu, irteera estandarra eta errore estandarra birbideratuko dira lehen deskribatu bezala.

Fitxategien deskriptoreak mugitzea

Birbideratze operadorea

[ n ] digitua -

fitxategi deskribatzailea deskargatzen du fitxategi-deskriptorea n , edo sarrera estandarra (fitxategi-deskriptorea 0) n zehazten ez bada. digitua bikoiztu egin da n .

Era berean, birbideratze operadorea

[ n ] > eta digitua -

fitxategiaren deskriptorea deskargatzen du fitxategi-deskriptorea n , edo irteera estandarra (fitxategi-deskriptorea 1) n zehazten ez bada.

Irakurketa eta idazketa irekitzeko fitxategia

Birbideratze operadorea

[ n ] <> hitza

fitxategiaren izenaren izena zabalduko da, bai irakurketa-idazkian, bai deskriptorean, edo deskriptore-fitxategian irekita dagoen hitza zabaltzeko. Fitxategia ez badago, sortzen da.

ezizenak

Aliatuek hitz bat ordezkatzeko katea ahalbidetzen dute komando soil baten lehen hitza bezala erabiltzen denean. Shell-ek alias eta integratutako komandoak uneko ezar daitezkeen aliasen zerrenda bat gordetzen du (ikus SHELL BUILTIN COMMANDS azpitik). Komando bakoitzaren lehen hitza, baldin eta ez bada, egiaztapena alias bat bada. Hala bada, hitz hori aliasaren testuaren ordez aldatuko da. Aliasaren izena eta ordezko testuak baliozko edozein shell sarrerarekin izan dezake, goiko zerrendan dauden metakriptoak barne, alias izena agian ez da izan. Ordezko testuaren lehen hitza aliasentzat probatu da, baina alias bat gehitzen ari denaren berdina den hitza ez da bigarren aldiz zabaldu. Horrek esan nahi du alias bat ls -F- ek esate baterako, eta bash- ek ez du errekurtsiboki hedatzen ordezko testua. Aliasaren balioaren azken karakterea hutsik badago , alias alias jarraitzen duen hurrengo komandoa aliasen hedapena ere hautatzen da.

Aliases sortzen dira eta alias komandoa zerrendatzen dira, eta unalias komandoarekin kenduko dira.

Ez dago aldaketarik testuaren argudioak erabiltzeko mekanismoik. Argumentuak behar badira, shell funtzioa erabili beharko litzateke (ikus FUNCTIONS azpitik).

Ezizenak ez dira handitzen shella ez denean elkarreragilea denean, expand_aliases shell aukera shopt erabiliz ezartzen bada (ikus SHELL BUILTIN COMMANDSren azpian denda- azalpena).

Aliasen definizioa eta erabilerari buruzko arauak nahasgarria dira. Bash- ek lerro lerro bat gutxienez irakurri ohi du lerro horretan komandoak exekutatu aurretik. Aliasak komandoa irakurtzen denean zabaltzen direnean ez da exekutatu. Hori dela eta, alias definizio bat beste lerroan agertzen den lerroan agertzen ez bada, ez da inolako eraginik sarrera hurrengo lerroa irakurri arte. Lerro horretan alias definizioa jarraituz komandoak ez dute alias berririk eragiten. Portaera hau funtzio bat exekutatzen denean ere arazo bat da. Aliasak funtzioaren definizioa irakurtzen denean zabaltzen denean ez da funtzioa exekutatzen denean funtzioaren definizioa komando konposatu bera delako. Ondorioz, funtzio batean definitutako alargunak ez daude erabilgarri funtzio hori exekutatzen den arte. Segurua izan dadin, alias definizioak beste lerro batean jarri eta komodiko komandoetan ezizenak erabili.

Helburu guztietarako, aliasak shell funtzioak gainditzen ditu.

FUNTZIOAK

SHELL GRAMMARren azpian deskribatutako definizio funtzioa, komando sorta bat garatzen du geroago gauzatzeko. Marrazki-funtzio baten izena komando izen sinple gisa erabiltzen denean, funtzio-izen horrekin lotutako komandoen zerrenda exekutatzen da. Funtzioak uneko shell-aren testuinguruan exekutatzen dira; Ez da prozesu berririk sortu interpretatzeko (kontrastea shell script baten exekuzioarekin). Funtzio bat exekutatzean, funtzioaren argumentuak posizio parametro bihurtzen dira exekuzioan zehar. Parametro berezia # eguneratzen da aldaketa islatzeko. Posizioaren parametroa 0 ez da aldatu. FUNCNAME aldagaia funtzioaren izena da funtzioa exekutatzen ari den bitartean. Gainontzeko exekuzioaren inguruko beste alderdi guztiak funtzio baten eta deitzailearen arteko berdinak dira, DEBUG tranpa (ikus beheko SHELL BUILTIN COMMANDS azpian dagoen trap eraikuntza deskribapena) ez da heredatzen, funtzioa traza atributua eman ez bada ( ikus beheko deklarazioaren deskribapena).

Funtzioarentzako tokiko aldagaiak bertako eraikitako komandoarekin deklaratuko dira. Normalean, aldagaiak eta haien balioak funtzioaren eta deitzen ari denaren artean banatzen dira.

Eraikuntzako komando itzulera funtzio batean exekutatzen bada, funtzioa betetzen eta exekuzioak hurrengo funtzioarekin jarraitzen du funtzio deiaren ondoren. Funtzio bat osatzean, posizio parametroen balioak eta # parametro bereziak funtzioaren exekuzioaren aurreko balioak berrezarriko dira.

Funtzioen izenak eta definizioak deklaratu edo idatzitako komandoen bidez -f aukera zerrendatu daitezke. The deklaratzeko edo idazteko aukera- F funtzioen izenak bakarrik zerrendatuko ditu. Funtzioak esportatu ahal izango dira, subshells-ek automatikoki esplizituki instalatutako aukera -f- rekin definituta.

Funtzioak errekurtsiboak izan daitezke. Ez da inolako errekurtso-deien kopurua inposatzen.

EBALUAZIO ARITMETIKOA

Shell ahalbidetzen aritmetika esamoldeak ebaluatu ahal izateko, zenbait egoeratan (ikusi let eraikitako komandoa eta Arithmetic Expansion ). Ebaluazioa zabalera finkoko zenbaki osoetan egiten da, gainezkatze-egiaztapenik gabe, zatiketa 0 harrapatuta dago eta errore gisa markatu da. Operadoreak eta haien lehentasuna eta elkartasuna dira C hizkuntzan. Operadoreen zerrenda hauek lehentasun berdineko operadoreen mailetan biltzen dira. Mailak aurrekari jaisteko ordena zerrendatzen dira.

id + + id -

aldagai post-gehikuntza eta post-jaitsiera

++ id - id

aldakuntza pre-igoera eta pre-jaitsiera

- +

unary minus eta plus

! ~

logikoa eta bitan ukatzea

**

berredura

* /%

biderketa, zatiketa, gainerakoa

+ -

gain, kenketa

<< >>

ezkerreko eta eskuineko bitartea txandaka

<=> = <>

konparazio

==! =

berdintasuna eta desberdintasuna

&

bit-eko AND

^

biteko OR esklusiboa

|

OR bitan

&&

AND logikoa

||

OR logikoa

expr ? expr : expr

baldintzapeko ebaluazioa

= * = / =% = + = - = << = >> = & = ^ = | =

esleipena

expr1 , expr2

koma

Shell aldagaiak onartzen dira operadore gisa; Parametroen hedapena adierazpena ebaluatu aurretik egiten da. Espresio baten barruan, shell aldagaiak parametroen hedapenaren sintaxia erabili gabe izena ere aipa daiteke. Aldagai baten balioa adierazpen aritmetiko gisa ebaluatzen da aipatzen denean. Shell aldagai batek ez du bere osoko atributua aktibatuta egon behar adierazpen batean erabiltzeko.

Zehaztutako 0 konstanteak zenbaki zortzitar gisa interpretatzen dira. 0x edo 0X liderra, hamaseitar bat da. Bestela, zenbakiek [ base # ] n inprimakia hartzen dute, baseak 2 eta 64 bitarteko zenbaki hamartar bat du oinarri aritmetikoa irudikatuz, eta n oinarri horretan zenbaki bat da. Oinarria # ahazten bada, orduan 10 oinarria erabiliko da. 9 baino handiagoa duten zenbakiak letra minuskularrak, maiuskulak, @ eta _, ordena horretan agertzen dira. Oinarria 36 baino txikiagoa edo berdina bada, minuskulak eta maiuskulak letra litezkeen artean trukatzen dira 10 eta 35 bitarteko zenbakiak irudikatzeko.

Operadoreak lehentasunezko ordenan ebaluatzen dira. Parentesi artean azpi-espresioak lehenengo ebaluatu egiten dira eta gaineko aurreko arauek gainidatzi dezakete.

EXPRESIO NAZIONALAK

Baldintzazko esamoldeak [[ komando komuna eta testua eta [ integratutako komandoak erabiltzen dira fitxategi atributuak probatzeko eta kate eta aritmetika konparazioak egiteko. Espresioak hurrengo unary edo binary primarietatik eratzen dira. Argumentu baten argumentu bat lehentasunetako bat bada / dev / fd / n formatuan, orduan fitxategia deskriptorea n hautatuta dago. Argumentu argumentu bat lehendabizikoetariko bat da / dev / stdin , / dev / stdout , edo / dev / stderr , fitxategi-deskriptorea 0, 1 edo 2, hurrenez hurren.

-a fitxategia

Egia bada fitxategia badago.

-b fitxategia

Egia bada fitxategia existitzen bada eta blokeko fitxategi berezi bat da.

-c fitxategia

Egia bada fitxategia badago eta karaktere-fitxategi berezia da.

-d fitxategia

Egia bada fitxategia existitzen bada eta direktorio bat da.

-e fitxategia

Egia bada fitxategia badago.

-f fitxategia

Egia bada fitxategia badago eta fitxategi arrunta da.

-g fitxategia

Egia bada fitxategia badago eta ezarri-group-id da.

-h fitxategia

Egia bada fitxategia badago eta lotura sinbolikoa da.

-k fitxategia

Egia bada fitxategia badago eta bere `` sticky '' bit bitarra ezarri da.

-p fitxategia

Egia bada fitxategia existitzen bada eta izeneko kanalizazioa da (FIFO).

-r fitxategia

Egia bada fitxategia badago eta irakurgarria.

-s fitxategia

Egia bada fitxategia badago eta zero baino handiagoa dauka.

-t fd

Egia bada fitxategi deskribatzailea fd irekita badago eta terminal bati aipatzen badio.

-u fitxategia

Egia bada fitxategia badago eta bere set-user-id bit ezarri da.

-w fitxategia

Egia bada fitxategia badago eta idazgarria bada.

-x fitxategia

Egia bada fitxategia badago eta exekutagarria da.

-O fitxategia

Egia bada fitxategia badago eta erabiltzaile-id efektiboa da.

-G fitxategia

Egia bada fitxategia existitzen bada eta taldearen ID eraginkorra du.

-L fitxategia

Egia bada fitxategia badago eta lotura sinbolikoa da.

-S fitxategia

Egia bada fitxategia existitzen bada eta socket bat da.

-N fitxategia

Egia bada fitxategia existitzen bada eta azken irakurri zenetik aldatu egin da.

file1 - nt file2

Egia fitxategi1 berria bada (aldaketa-dataren arabera) file2 baino, edo file1 existitzen bada eta file2 ez.

file1 - ot file2

Egia fitxategi1 fitxategi2 baino zaharragoa bada, edo file2 bada badago eta file1 ez.

file1 -ef file2

Egia bada fitxategi1 eta fitxategi2 gailu eta inode zenbaki berberak dira.

-o optname

Egia bada, shell aukera optname gaituta badago. Ikusi aukera-zerrenda aukeraren azpian, edo aukeraren azpian, beheko ezarpenen arabera .

-z katea

Egia bada, katearen luzera zero da.

-n katea

katea

Egia bada, katearen luzera zero da.

string1 == kate2

Egia bada, kateak berdinak badira. = POSIX estandarraren betetzeagatik == erabil daiteke.

string1 ! = katea2

Egia da kateak ez badira berdinak.

string1 < string2

Egia bada string1-k kate2 lexikografikoki aurretik ordenatzen du uneko lokalean.

string1 > string2

Egia bada, string1 kate2 lexikografikoki ordenatzen bada uneko lokalean.

arg1 OP arg2

OP bat da -eq , -ne , -lt , -le , -gt edo -ge . Arithmetic binary operadore hauek itzultzen egia arg1 berdina bada, ez da berdinak, baino gutxiago, baino gutxiago edo berdinak, baino handiagoa edo handiagoa edo berdina arg2 , hurrenez hurren. Arg1 eta arg2 osoko zenbaki positiboak edo negatiboak izan daitezke.

SIMPLE COMMAND EXPANSION

Komando soil bat exekutatzen denean, shellek hurrengo hedapen, esleipen eta birzuzenketak egiten ditu, ezkerretik eskuinera.

1.Erakterrak esleipen aldakor gisa markatutako hitzak (komandoaren izena baino lehenago) eta birbideratzeak prozesuan geroago gordetzen dira.

2.Zerbitzu edo birzuzenketa ez diren hitzek zabaldu egiten dituzte. Edozein hitz hedapenaren ondoren geratzen bada, lehenengo hitza komandoaren izena izango da eta gainerako hitzak argumentuak izango dira.

3. Erreferentziak burututakoaren arabera deskribatzen dira REDIRCION.

4.Testu ondorengo testua = aldagai bakoitzaren ondorengoak tilde hedapena, parametroen hedapena, komando ordezkapena, hedapen aritmetikoa eta aurrekontuaren kenketa aldagaiari esleitu aurretik esleitu zaizkio.

Komando izenaren emaitza ez bada, aldagaiaren esleipenak egungo shell inguruneari eragiten die. Bestela, aldagaiak exekutatutako komandoaren ingurunera gehituko dira eta ez dira egungo shell inguruneari eragingo. Zereginen batek aldagai irakurrizalea balioa esleitzen saiatzen bada, errore bat gertatzen da eta komandoa zero ez den egoera batera iristen da.

Komandoaren izena ez bada lortzen, birbideraketak egiten dira, baina ez dute eraginik egungo shell inguruneari. Birbideratze errore batek komandoak zero ez diren egoera batera irteten du.

Expansion ondoren komandoa izen bat badago, exekuzioa jarraian azaltzen den bezala hasten da. Bestela, komandoa irteten da. Zabaleraketariko bat komandoa ordeztu bada, komandoa irteeraren egoera azken komando ordezkapenaren irteeraren egoera da. Komandoak ordezten ez badira, komandoa zero egoerarekin irtengo da.

KOMANDANTZAKO EKINTZA

Komando bat zatitu ondoren, komando sinple bat eta argumentu zerrenda hautazkoa badaude, ondorengo ekintzak hartuko dira.

Komandoaren izenak barra ez badu, shellak aurkitzen saiatuko da. Izen horren shell funtzioa badago, FUNTZIOAK goian azaldu dugun moduan funtzio hori aipatzen da. Izenak funtzio bat betetzen ez badu, shell-ek shell-aren zerrendan bilatuko du. Partidu bat aurkitzen bada, eraikitakoa invokatzen da.

Izenak ez badu shell funtzio bat edo eraikuntza bat, eta barrutirik ez du, bash- ek PATH izeneko elementu bakoitza izeneko fitxategi exekutagarri bat duen direktorio bat bilatzen du. Bashek hash taula bat erabiltzen du fitxategi exekutagarrien bide-izen osoa gogoratzeko (ikusi hash SHELL BUILTIN COMMANDS azpian). PATHren direktorioen bilaketa osoa komandoak hash taula batean ez badago bakarrik egiten da. Bilaketa huts egin ezean, shellek errore-mezu bat inprimatzen du eta 127 egoerarako egoera bat itzultzen du.

Bilaketa arrakastatsua baldin bada edo komandoaren izena barrutik edo barruti bat badago, shell programak exekutatzen duen ingurune batean exekutatzen du. Argumentua 0 emandako izenarekin ezarriko da, eta gainerako argumentuak komandoari emandako argumentuei ezarriko zaizkie, baldin badago.

Exekuzio hori huts egiten badu fitxategiak formatu exekutagarrian ez badago eta fitxategia ez da direktorio bat, shell script bat dela suposatzen da, shell komandoak dituen fitxategi bat. Subshell bat sortzen da exekutatzeko. Subshell honek bere burua berrezartzen du, beraz, efektua script bat kudeatzeko shell berri bat balitz bezala erabiltzea gomendatzen da , gurasoek gogoratzen dituzten komandoen kokapenak (ikus hash beheko SHELL BUILTIN COMMANDS azpian).

Programa # fitxategiarekin hasten bada ! , lehen lerroaren gainerakoak programarako interprete bat zehazten du. Shell exekutiboen formatu hau kudeatzen ez duten sistema eragileei zehaztutako interpretea exekutatzen du. Interpretearen argumentuak aukerako argumentu bakarra da programaren lehenengo lerroan interpretatzaile izena jarraituz, programa horren izena eta komandoaren argumentuak jarraituz, baldin badago.

KOMANDANTZAKO INGURUMENEKO EKINTZA

Shell exekuzio-ingurunea dauka , hau da, honako hauek osatzen dute:

* shell-ek herentziaz deuseztatutako fitxategiak irekitzen ditu, eraikitako exekuzioan emandako birzuzenketak aldatuta

* uneko laneko direktorioa cd gisa, pushd edo popd- ek ezarritakoak , edo shell bidez heredatutakoak

* fitxategi sortze-moduaren maskara umask- ek edo shell-en gurasoek heredatutakoak

* tranpa ezartzen diren tranpak

* shell parametroak, esleipen aldakorrekoak edo konfigurazioko edo shell inguruneko gurasoetatik heredatutakoak

* shell funtzioak exekuzioan zehaztutako edo shell ingurunean guraso heredatu

* aukera gaitzean gaitzeko (bai lehenetsitako edo komando lerroko argumentuekin) edo multzo bidez

* Shopt -ek aukeratutako aukerak

* Ezizenez definitutako shell aliasak

* Hainbat prozesu ID, atzeko planoko lanak, $$ balioak eta $ PPID balioa barne

Eraikuntzako edo shell funtzio ez den komando soil bat exekutatzen denean, ondoko hau osatzen duten exekuzio-ingurune bereiziarekin bat dator. Bestela adierazi ezean, balioak shelletik heredatuko dira.

* Shell-en irekitako fitxategiak, baita birbidalketak komandorako zehaztutako edozein aldaketa eta gehikuntza ere

* uneko laneko direktorioa

* Fitxategiaren sorkuntza moduaren maskara

* Itsas aldagaiak esportaziorako markatutakoak dira, ingurunera pasatu diren komandorako esportatutako aldagaiekin batera

* shell-ek harrapatutako tranpak berreskuratzen ditu shell-en gurasoarengandik jasotako balioak, eta shell-ek baztertutako tranpak ez dira kontuan hartuko

Ingurune hori hartan deitutako komandoak ezin du shellaren exekuzio-inguruneari eragiten.

Komandoen ordezpena eta asinkronoen komandoak shell ingurunean bikoiztutako ingurune batean azaltzen dira, shellak harrapatzen dituen tranpak berrezartzean, gurasoaren ondorengoa bere ondorengoa izendatzen duten balioei berrezarriko zaie. Hodi-sare baten bidez deitzen diren komandoak ere subshell ingurunean exekutatzen dira. Subshell ingurunean egindako aldaketak ezin dute shellaren exekuzio-inguruneari eragiten.

Komando bat jarraitzen bada & & laneko kontrolak ez badu aktibatuta, komandoaren sarrera estandarra lehenetsia hutsik dago / dev / null . Bestela, gonbidatutako komandoa birbidalketak aldatzen dituen deiak shellaren deskribatzaile fitxategiak heredatzen ditu.