Bash - Linux Command - Unix Command

NAME

bash - GNU Bourne-Again Shayela

SYNOPSIS

bash [izinketho] [ifayela]

DESCRIPTION

I-Bash isichazamazwi solimi lomyalo we- sh ohambisanayo owenza imiyalo efundwa kusuka kokufaka okujwayelekile noma kusuka kufayili. I-Bash iphinde ihlanganise izici eziwusizo kusukela ku-shells ze- Korn no- C ( ksh ne- csh ).

I-Bash ihloselwe ukuba kusebenze ngokuhambisana kwe-IEEE I-Shell kanye namaThuluzi okucacisa (IEEE Working Group 1003.2).

AMAKHONO

Ngaphezu kokukhethwa kwegobolondo elilodwa lomlingiswa olulotshwe ekuchazweni komyalo osethiwe, i- bash ichaza okulandelayo uma kukhethwa:

-c string

Uma i- c inketho ikhona, khona-ke imiyalo ifundwa kusuka kwichungechunge . Uma kukhona izimpikiswano ngemuva kwechungechunge , zinikezwa kwimingcele yemibandela, kuqala nge- $ 0 .

-i

Uma i -iyikhetho ikhona, igobolondo iyasebenza.

-l

Yenza ibhethri njengokuthi ifakwe njengegobolondo yokungena ngemvume (bheka INVOCATION ngezansi).

-r

Uma i-- r inketho ikhona, igobolondo iyaba nomkhawulo (bheka i- SHTR RESTRICTED ngezansi).

-s

Uma ngabe i --s option ikhona, noma uma kungekho zimpikiswano ezisele ngemuva kokucubungula inketho, khona-ke imiyalo ifundwa kusukela kokufaka okujwayelekile. Lolu khetho luvumela ukuthi imingcele yeposi ibekwe uma icela igobolondo elihlangene.

-D

Uhla lwazo zonke izintambo ezicatshangwe kabili ezandulele i- $ zinyatheliswa ku-ouput ejwayelekile. Lezi yizintambo ezihambisana nokuhumusha kolimi lapho indawo yamanje engekho C noma i- POSIX . Lokhu kusho ukuthi -nokukhetha ; akukho mithetho ezokwenziwa.

[- +] O [ okushicilelwe kakhulu ]

ukuphawula okufakiwe kungenye yezinketho zegobolondo ezamukelwa yi- builtin esheshayo (bheka ama- SHELL BUILTIN COMMANDS ngezansi). Uma ngabe i- shopt_option ikhona, -O ibeka inani lenketho ; + O unsets it. Uma ukuphawula okufingqiwe kunganikezwa , amagama namanani wezinketho zegobolondo ezamukelwe ngokusheshiswa zinyatheliswa ekuphumeni okujwayelekile. Uma ukhetho lokuncenga luyi- O , okukhiphayo kuboniswa kwifomethi engase isetshenziswe njengengeniso.

-

A - ibonisa ukuphela kwezinketho futhi ikhubaza ukuqhutshwa kokukhethwa kukho okunye. Noma yiziphi izimpikiswano emva kwe-ziphathwa njengamafayela okufaka amafayela nezimpikiswano. Ingxabano - ilingana no - .

I-Bash iphinda ihumushe izinketho eziningi zamakheli amaningi. Lezi zinketho kumele zivele emgqeni wokulalela ngaphambi kokukhethwa kwezinhlamvu ezilodwa okumele zibonwe.

- ama-dump-po-strings

Ilingana no -D , kodwa okukhiphayo ku-GNU gettext po ( ifoni ephathekayo) ifomethi yefayela.

- izintambo

Ilingana no -D .

--Usizo

Bonisa umlayezo wokusebenzisa ekuphumeni okujwayelekile futhi uphume ngempumelelo.

ifayela -fayili yefayela

ifayela --rcfile

Yenza imiyalo evela efayeleni esikhundleni sefayili yokuqalisa yomuntu siqu ~ / .bashrc uma igobolondo lihlanganyela (bheka INVOCATION ngezansi).

--Ngena ngemvume

Ilingana no -l .

- ukwesekwa

Ungasebenzisi umtapo wolwazi lokufunda we-GNU ukuze ufunde imigqa yomyalo uma igobolondo lihlanganyela.

- i-noprofile

Ungafundi noma ifayela lokuqala lokuqalisa uhlelo / njll / iphrofayli nanoma yimaphi amafayela wokuqalisa siqu / / .bash_profile , ~ / .bash_login , noma ~ / .profile . Ngokuzenzakalelayo, bashisha amafayili uma ecela njengegobolondo yokungena ngemvume (bona INVOCATION ngezansi).

--norc

Ungafundi futhi usebenzise ifayela lomuntu siqu lokuqalisa ~ / .bashrc uma igobolondo lihlanganyela. Lolu khetho luya ngokuzenzakalelayo uma igobolondo ibizwa ngokuthi sh .

--posix

Shintsha ukuziphatha kwe- bash lapho ukusebenza okuzenzakalelayo kuhluke khona kumgangatho we-POSIX 1003.2 ukufanisa izinga ( imodi ye-posix ).

- ivinjelwe

Igobolondo ivinjelwe (bheka iSTRTRICTED SHELL ngezansi).

--rpm-idinga

Yenza uhlu lwamafayela adingekayo ukuze iskripthi segobolondo sisebenze. Lokhu kusho '-n' futhi kuncike ekunciphiseni okufanayo njengokuqoqa iphutha lokuhlola ukuhlola; Ama-backticks, [] izivivinyo, nokuvulwa akukhiphi ukuxhaswa ukuze ezinye izintandokazi zingaphuthelwa. - ukubopha okulinganayo kuya -v .

--verver

Bonisa ukwaziswa kwenguqulo yalesi senzakalo sebhashi ekuphumeni okujwayelekile futhi uphume ngempumelelo.

AMAKHAYA

Uma izimpikiswano zihlala ngemuva kokucubungula okukhethwa kukho, futhi akukho -c noma i-isinqumo esinikeziwe, ingxabano yokuqala kuthathwa ngokuthi igama lefayela equkethe imiyalo yegobolondo. Uma ibhasi isetshenziswe ngale ndlela, i-$ 0 isethelwe egameni lefayela, futhi imingcele yesikhashana isethelwe ezimpikiswaneni ezisele. I-Bash ifunda futhi isebenza imiyalo evela kuleli fayela, bese iphuma. Isimo sokuphuma sikaBash yisimo sokuphuma somyalo wokugcina owenziwe kwiskripthi. Uma kungenjalo imiyalo ibulawa, isimo sokuphuma singu-0. Umzamo uqale uqale ukuvula ifayela kumhlahlandlela wamanje, futhi, uma kungekho fayili etholakala, igobolondo isesha izinkomba ku- PATH script.

INVOCATION

Igobolondo yokungena yilowo ohlamvu lwakhe lokuqala lokuphikisana zero - , noma eyodwa iqale ngenketho - yokungena .

Igobolondo elihlangene linye liqalwe ngaphandle kwezingxabano ezingenayo inketho futhi ngaphandle kwe-okukhethwa kukho okufakwayo okujwayelekile nokukhipha kokubili kokuxhumeke kuma-terminals (njengoba kunqunywe yi- isatty (3)), noma omunye waqala nge -iyindlela . I-PS1 isethwe futhi i-$ - ifaka i uma ngabe ibash is interactive, ivumele iskripthi segobolondo noma ifayela lokuqalisa ukuhlola lesi simo.

Izigaba ezilandelayo zichaza ukuthi bash wenza kanjani amafayela okuqalisa. Uma ngabe kukhona amafayela akhona kodwa angakwazi ukufunda, bashisa imibiko ngephutha. I-Tildes iyanwetshwa ngamagama wefayela njengoba kuchazwe ngenzansi ngaphansi kwe- Tilde Ukukhulisa kusigaba se- EXPANSION .

Uma ibha isetshenziswe njengegobolondo lokungena ngemvume, noma njengegobolondo elingaxhunyiwe ne -login yokukhetha, liqala ukufunda futhi lenze imilayezo evela efayeleni / njll / iphrofayili , uma lelo fayela likhona. Ngemuva kokuthi ufunde lelo fayela, libuka ~ / .bash_profile , ~ / .bash_login , kanye ~ / .profile , ngaleyo oda, futhi lifunda futhi lenze imiyalo evela kokuqala ekhona futhi ifundeka. Inketho ye- noprofile ingasetshenziswa uma igobolondo iqalile ukuvimbela lokhu kuziphatha.

Uma igobolondo yokungena ngemvume iphuma, bashisha ufunda futhi enze imiyalo evela kufayela ~ / .bash_logout , uma ikhona.

Uma igobolondo elihlangene elingelona igobolondo yokungena ngemvume liqalisiwe , bashisha ufunde futhi asebenzise imiyalo evela ~ / .bashrc , uma lelo fayela likhona. Lokhu kungavinjelwa ngokusebenzisa inketho - engekho . Ikhefri yefayela --rrfile izophoqelela ibhasi ukuthi ifunde futhi isebenze imiyalo kusuka kufayela esikhundleni se ~ ~ .bashrc .

Uma ibhaja iqalile ngaphandle kokuhlanganyela, ukuqhuba iskripthi segobolondo, isibonelo, ibheka okuguquguqukayo kwe- BASH_ENV emvelweni, yandisa inani layo uma ivela khona, futhi isebenzisa inani elandisiwe njengegama lefayela okufanele lifunde futhi lenze . I-Bash iziphatha njengokungathi umyalo olandelayo wenziwa:

uma [-n "$ BASH_ENV"]; ke. "$ BASH_ENV"; fi

kodwa inani le- PATH eliguqukayo alisetshenziswanga ukucinga igama lefayela.

Uma ibhasi isetshenziswe ngegama sh , lizama ukulinganisa ukuziphatha kokuqala kokuguquguquka komlando we- sh ngangokunokwenzeka, kuyilapho kuvumelana nesilinganiso se-POSIX. Uma kuphakanyiswa njengegobolondo lokungena ngemvume lokuhlanganyela, noma igobolondo elingenabambisene nelungelo lokungena - lokungena , lizama kuqala ukufunda nokukhipha imiyalo kusuka / etc / iphrofayli kanye ~ / .profile , ngaleyo oda. Inketho ye- inoprofile ingasetshenziswa ukuvimbela lokhu kuziphatha. Uma iphakanyiswe njengegobolondo elihlangene negama sh , ibhishe ibuka i- ENV eguquguqukayo, ikhulisa inani layo uma ichazwa, futhi isebenzisa inani elandisiwe njengegama lefayela okufanele lifunde futhi lenze. Njengoba igobolondo iphakanyisiwe njenge- sh ayizami ukufunda nokwenza imiyalo kusuka kunoma yimaphi amanye amafayela okuqalisa, ukhetho lwe -rcfile alunamthelela . Igobolondo elingaxhunyiwe elibizwe ngegama sh alizami ukufunda amanye amafayela okuqala. Uma kuphakanyiswe njenge- sh , ibhashi ingena kwimodi ye- posix ngemuva kokuthi amafayela okuqalisa afundwa.

Uma ibhasi iqalwa kwimodi ye- posix , njengendlela ye-e- mailx yokukhethwa komugqa wendlela, ilandela izinga le-POSIX yokuqalisa amafayela. Kulo modi, amagobolondo asebenzisanayo akwandisa ukuguquguquka kwe- ENV futhi imiyalo ifundwa futhi ilandelwa kusuka efayeleni ogama lakhe linguxabiso elandisiwe. Awekho amanye amafayela okuqalisa afundwa.

I-Bash izama ukunquma ukuthi isebenza yini nge-shell daemon edelekile , ngokuvamile i- rshd . Uma ibhasi inquma ukuthi iqhutshwa ngu- rshd , ifunda futhi isebenza imiyalo evela ku- ~ / .bashrc , uma lelo fayela likhona futhi lifundeka. Ngeke kwenze lokhu uma kuphakanyisiwe njenge- sh . Inketho ye- inorc ingasetshenziselwa ukuvimbela lokhu kuziphatha, futhi inketho ye -rcfile ingasetshenziswa ukuphoqa elinye ifayela ukuthi lifundwe, kodwa i- rshd ngokuvamile ayifuni igobolondo ngalezo zindlela noma zivumele ukuba zichazwe.

Uma igobolondo iqalwa ngomsebenzisi osebenzayo (iqoqo) id ayilingani nomsebenzisi wangempela (iqoqo) id, futhi inketho ye-- p ayinikeziwe, ayikho amafayela okuqala afundwayo , imisebenzi yegobolondo ayizuze ifa lemvelo, i- SHELLOPTS ukuhlukahluka, uma kubonakala emvelweni, kunganakwa, futhi i-id yomsebenzisi esebenzayo isethwe ku-id yangempela yomsebenzisi. Uma ngabe i-- p inketho inikezwa ekuceliwe, ukuziphatha kokuqala kuyafana, kepha i-id yomsebenzisi esebenzayo ayisethiwe kabusha.

IZINCAZELO

Izincazelo ezilandelayo zisetshenziswe kulo lonke leli dokhumenti.

kungenalutho

Isikhala noma ithebhu.

igama

Ukulandelana kwezinhlamvu ezibhekwa njengeyunithi eyodwa ngegobolondo. Eyaziwa nangokuthi ithokheni .

igama

Igama eliqukethe kuphela izinhlamvu ze-alphanumeric futhi ligcizelela, futhi liqala ngomlingiswa we-alfabhethi noma i-underscore. Futhi okubhekwa njengesihlonzi.

i-metacharacter

Umlingisi wokuthi, uma ungafundiwe, uhlukanisa amagama. Enye yezinto ezilandelayo:

| | &; () <> ithebhu yesikhala

lawula opharetha

Ithokheni eyenza umsebenzi wokulawula. Ngenye yezimpawu ezilandelayo:

|| & &&; ;;;; () |

AMAZWI OKUSEBENZISWA

Amagama agodliwe ngamagama anencazelo ekhethekile kugobolondo. Amagama alandelayo abonakala njengalokhu engagciniwe uma engabanjwanga futhi noma yiliphi igama lokuqala lomyalo olula (bheka i- SHELL GRAMMAR ngezansi) noma igama lesithathu lecala noma ngomyalo:

! icala lenze lof okunye okusebenzayo uma kukhethwa kuze kufike isikhathi {}]

SHELL GRAMMAR

Izimiso ezilula

Umyalo olula ukulandelana kwezigaba eziguquguqukayo ezizenzekelayo ezilandelwa ngamagama angenalutho- ahlukanisiwe kanye nokuqondiswa, futhi unqanyuliwe ngu- opharetha wokulawula . Igama lokuqala lichaza umyalo ozokwenziwa, futhi udluliselwa njengezingxabano zero. Amagama asele adluliselwa njengezingxabano kumyalo owenziwe.

Inani lokubuya lomyalo olula yisimo sayo sokuphuma, noma i-128+ n uma umyalo uqedwa ngesignali n .

Amapayipi

Iphayiphu ilandelana nomyalo owodwa noma ngaphezulu ohlukaniswe umlingiswa | . Ifomethi yepayipi yilezi:

[ isikhathi [ -p ]] [! ] umyalo [ | umyalo2 ...]

Ukukhishwa okujwayelekile komyalo kuxhunywe nge-pipe kuya kokufaka okujwayelekile komyalo2 . Lokhu kuxhumano kwenziwa ngaphambi kwanoma yikuphi ukuqondiswa okuchazwe umyalo (bona i- REDIRECTION ngezansi).

Uma igama eligcinwe ! kuqala ngaphambi kwephayiphi, isimo sokuphuma salowo mgwaqo singenangqondo hhayi ngezinga lokuphuma lomyalo wokugcina. Uma kungenjalo, isimo sephayipho yisimo sokuphuma somyalo wokugcina. Igobolondo ilinde yonke imiyalo ebhokisini ukuze inqamule ngaphambi kokubuyisa inani.

Uma isikhathi esigciniwe esilandelayo singaphambi kwepayipi, isikhathi esiphelile kanye nomsebenzisi nesistimu esichithwa ukubulawa kwayo kubikwa uma iphayiphi iphela. I-- p inketho ishintsha ifomethi yokukhipha kulokho okushiwo yi-POSIX. Ukuhlukahluka kwe- TIMEFORMAT kungasethwa kufomathi yefomethi ecacisa ukuthi ulwazi lwesikhathi kufanele luboniswe kanjani; bheka incazelo ye- TIMEFORMAT ngaphansi kwe- Shell Variables ngezansi.

Umyalo ngamunye kumphayiphi ukwenziwa njengenqubo ehlukile (okungukuthi, kwisigatshana).

Izinhlu

Uhlu luhambisana ngokulandelana kwepayipi eyodwa noma ngaphezulu ehlukaniswe omunye wabaqhubi ; , & , && , noma || , futhi ngokukhethwa kukho kupheliswe ngenye ye ; , & , noma .

Kulaba basebenzi bezinhlu , && and || kunokuqala okulinganayo, kulandelwa ; futhi &, ezinezilinganiso ezilinganayo.

Ukulandelana kwezinguquko ezilodwa noma ngaphezulu kungabonakala kuhlu esikhundleni se-semicolon ukuhambisa imiyalo.

Uma umyalo unqanyuliwe ngu-opharetha wokulawula,, igobolondo yenza umyalo ngemuva ngemuva kwesigatshana. Igobolondo alinde ukuthi umyalo uqede, futhi isimo sokubuyisa ngu-0. Izimiso ezihlukaniswe ngu ; zibulawa nge-sequentially; igobolondo ilinda umyalo ngamunye wokuphelisa. Isimo sokubuya yisimo sokuphuma somyalo wokugcina owenziwe.

Abaphathi bokulawula && kanye || chaza nohlu no-OR izinhlu, ngokulandelana. Uhlu lwe-AND ANDROID lunefomu

umyalo1 && umyalo2

umyalo2 ukwenziwa uma, futhi kuphela uma, umyalo1 ubuyisa isimo sokuphuma sero.

AN OR uhlu luhlobo

umyalo1 || umyalo2

umyalo2 ukwenziwa uma futhi kuphela uma umyalo 1 ubuyisa isimo esingenaso sokuphuma. Isimo sokubuyisa se-AND AND no-OR luyisimo sokuphuma somyalo wokugcina owenziwe ohlwini.

Ama-Compound Commands

Umyalo wekhamera ungenye yezinto ezilandelayo:

( uhlu )

uhlu lubhekwa ku-subshell. Izabelo eziguquguqukayo nemiyalo eyakhiwe echaphazela imvelo yegobolondo ayihlali isebenza ngemuva kokuba umyalo uqede. Isimo sokubuya yisimo sokuphuma ohlwini .

{ uhlu ; }}

Uhlu luvele lwenzeke endaweni yegobolondo yamanje. uhlu kufanele luqedwe nge-newline noma i-semicolon. Lokhu kwaziwa njengomyalo weqembu . Isimo sokubuya yisimo sokuphuma ohlwini . Qaphela ukuthi ngokungafani nama-metacharacters ( futhi ) , { na } ngamagama agcinwe futhi kufanele kwenzeke lapho igama eligcinwe livunyelwe ukuba lihlonishwe. Njengoba kungabangeli ukuphulwa kwegama, kumele bahlukaniswe ohlwini ohlwini lwe- whitespace.

(( inkulumo )

Le nkulumo ihlolwe ngokuvumelana nemithetho echazwe ngezansi ngaphansi kokuhlolwa kwe- ARITHMETIC . Uma inani leli gama lingewona, isimo sokubuyisa si-0; uma kungenjalo isimo sokubuyela siyi-1. Lokhu kufana ncamashi ukuvumela " inkulumo ".

[ inkulumo ]

Buyisa isimo se-0 noma i-1 kuye ngokuthi ukuhlolwa kwenkulumo yesibandela enemibandela. Amazwi akhiwe ngemibandela echazwe ngezansi ngaphansi kwe- CONDITIONAL EXPRESSIONS . Ukuhlukaniswa kwegama nokuqamba igama elithigama akukwenziwa kumazwi phakathi kwe [[ and ]] ; yenza ukukhuliswa, ipharamitha nokukhuliswa okuguquguqukayo, ukunwetshwa kwe-arithmetic, ukufaka esikhundleni somyalo, inqubo yokufaka esikhundleni, nokususwa kokucaphuna kwenziwa.

Lapho i- == and ! = Opharetha isetshenzisiwe, intambo ngakwesokunene se-opharetha ibhekwa njengephethini futhi ihambelana ngokuvumelana nemithetho echazwe ngezansi ngaphansi kwe- Pattern Matching . Inani lokubuyisa li-0 uma ucingo luhambelana noma aluhambisani nephethini, ngokulandelana, futhi 1 ngenye indlela. Noma iyiphi ingxenye yephethini ingase icatshangelwe ukuba iphoqe ukuba ifaniswe njengezintambo.

Amazwi angahle ahlanganiswe esebenzisa ama-operators alandelayo, afakwe ohlwini lokunciphisa okulandelayo:

( inkulumo )

Ibuyisa inani lokukhuluma . Lokhu kungasetshenziselwa ukudlula ukuqala okujwayelekile kwama-opharetha.

! inkulumo

Iqiniso uma inkulumo ingamanga.

ukukhuluma1 && expression2

Kuyiqiniso uma kokubili inkulumo1 kanye nenkulumo2 kuyiqiniso.

ukukhuluma1 || ukukhuluma.2 Yiqiniso uma ngabe inkulumo1 noma inkulumo2 iqinisile.

I && and || ama-operators awahlolisisi inkulumo2 uma inani lokukhuluma1 lanele ukunquma inani lokubuyisa lonke inkulumo enemibandela.

ngegama [ ngezwi ]; yenza uhlu ; kwenziwe

Uhlu lwamagama alandelayo alandisiwe, okwenza uhlu lwezinto. Igama eliguquguqukayo lisethelwe kwento ngayinye yalolu hlu ngokulandelana, futhi uhlu lwenziwa njalo. Uma ngabe igama lishiywe, umyalo uwenza uhlu olulodwa ngesimiso ngasinye sokumisa esethiwe (bona i- PARAMETERS ngezansi). Isimo sokubuya yisimo sokuphuma somyalo wokugcina owenzayo. Uma ukwandiswa kwezinto ezilandelayo kwimiphumela kuhlu olungenalutho, akukho mithetho ekhishwayo, futhi isimo sokubuyisa si-0.

ngoba (( expr1 ; expr2 ; expr3 )); yenza uhlu ; kwenziwe

Okokuqala, inkulumo ye-arithmetic expr1 ihlolwe ngokuvumelana nemithetho echazwe ngezansi ngaphansi kokuhlolwa kwe- ARITHMETIC . Inkulumo ye-arithmetic expr2 ihlolwe ngokuphindaphindiwe kuze kube yilapho ihlola kuze kube zero. Isikhathi ngasinye i- expr2 ihlola inani elingelona i-zero, uhlu lwenziwa futhi i-arithmetic expression expr3 ihlolwe. Uma ngabe kukhona inkulumo engavumelekile, iziphatha njengokungathi ihlaziya ku-1. Inani lokubuya liyisimo sokuphuma somyalo wokugcina ohlwini olubekwe, noma amanga uma ngabe ezinye zezinkulumo zingavumelekile.

khetha igama [ ngegama ]; yenza uhlu ; kwenziwe

Uhlu lwamagama alandelayo alandisiwe, okwenza uhlu lwezinto. Iqoqo lamagama anwetshiwe liphrintiwe ngephutha elijwayelekile, ngalinye lilandelwe ngenombolo. Uma ngabe ngezwi lishiywe, imingcele yemibandela ishicilelwe (bona i- PARAMETERS ngezansi). I- PS3 prompt iyaboniswa futhi ilayini efundwa kusukela kokufaka okujwayelekile. Uma umugqa unenombolo ehambelana nenye yamagama abonisiwe, inani legama lihlelwe kulowo gama. Uma umugqa ungenalutho, amagama nokuphinda kuboniswa futhi. Uma i-EOF ifundwa, umyalo uqeda. Noma yiliphi elinye inani elifundiwe lifunde igama lezinto ezibangela ukuba kube yi-null. I-line read igcinwe ku- REPLY eguquguqukayo. Uhlu lwenziwa ngemva kokukhethwa kukho konke kuze kube yilapho umyalo wephutha uphathwa. Isimo sokuphuma sokukhetha yisimo sokuphuma somyalo wokugcina owenziwe kuhlu , noma uma kungekho mithetho ekhishwe.

cala igama ku- [[(] iphethini [ | iphethini ]

Umyalo we- case kuqala ukhulisa igama , futhi uzama ukuwufanisa nephethini ngalinye, besebenzisa imithetho efanayo efana neyendlela yokwandisa (bheka Ukukhuliswa Kwamagama ngezansi). Uma umdlalo utholakala, uhlu oluhambelana lwenziwa. Ngemuva komdlalo wokuqala, akukho mdlalo olandelayo olingwa ngawo. Isimo sokuphuma si-zero uma kungekho iphethini efana. Uma kungenjalo, yisimo sokuphuma somyalo wokugcina owenziwe ohlwini .

uma uhlu ; bese uhlunga; [ uhlu lwe- elif ; bese uhlunga ; ] ... [ olunye uhlu ; ] fi

Uma ngabe uhlu lwenziwa. Uma isimo sawo sokuphuma siyi-zero, uhlu lwayo lubekwe. Uma kungenjalo, uhlu olulodwa lwe- elif lusetshenziswa futhi, futhi uma isimo salo sokuphuma singenayo, uhlu oluhambelana nalo lubekwe futhi umyalo uqedile. Ngaphandle kwalokho, olunye uhlu luzobulawa, uma lukhona. Isimo sokuphuma yisimo sokuphuma somyalo wokugcina owenziwe, noma i-zero uma kungekho isimo esivivinywa kuyiqiniso.

ngenkathi uhlu ; yenza uhlu ; kwenziwe

kuze kube uhlu ; yenza uhlu ; kwenziwe

Umyalo okwamanje uqhubeka wenza uhlu uma nje umyalo wokugcina ohlwini ubuyisela isimo sokuphuma sero. Umyalo kuze kube umyalo ufana nomyalo okwamanje, ngaphandle kokuthi ukuhlolwa kunganakiwe; uhlu lwayo lubekwe uma nje umyalo wokugcina ohlwini ubuyisela isimo esingenaso sokuphuma. Isimo sokuphuma sesikhathi futhi kuze kube yimilayezo yisimo sokuphuma somyalo wokugcina owenziwe ohlwini , noma i-zero uma kungekho muntu owabulawa.

Igama lomsebenzi () ( uhlu {; }}

Lokhu kuchaza umsebenzi obizwa ngegama . Umzimba womsebenzi wuhlu lwemilayezo phakathi kwe- {and}. Lolu hlu lubulawa uma igama licacisiwe njengegama lomyalo olula. Isimo sokuphuma somsebenzi yisimo sokuphuma somyalo wokugcina owenziwe emzimbeni. (Bheka IMISEBENZI ngezansi.)

COMMENTS

Ku-shell ye-non-interactive, noma igobolondo elisebenzisanayo lapho okukhethwa kukho okuhlangene_kukhethwa kukho okuhlanganisiwe kunikwe amandla (bheka i- SHELL BUILTIN COMMANDS ngezansi), igama eliqala nge- # libangela ukuthi lelo gama nazo zonke izinhlamvu ezisele kulowo mzila zinganakwa. Igobolondo lokusebenzisana ngaphandle kokukhetha okuhlangene_amazwana anikwe amandla ayivumeli imibono. Okukhethwa kukho okuhlangenwe nakho_kukhona ngokuzenzakalelayo kuma-shells asebenzisanayo.

IQINISO

Ukucaphuna kusetshenziselwa ukususa incazelo ekhethekile yabalingiswa abathile noma amagama kugobolondo. Ukucaphuna kungasetshenziswa ukukhubaza ukwelashwa okhethekile kubalingiswa abakhethekile, ukuvimbela amagama agodliwe ekuqaphelisweni okunjalo, nokuvimbela ukukhuliswa kwepharamitha.

Ngamanye ama- metacharacters okubalwe ngenhla ngaphansi kwe- DEFINITIONS inencazelo ekhethekile kugobolondo futhi kufanele icashunwe uma kumelela yona.

Lapho izakhiwo zokunweba umlando zomyalo zisetshenziswa, umlingiswa wokwandisa umlando , ngokuvamile ! , kufanele kucashunwe ukuvimbela ukwandiswa komlando.

Kunezinhlelo ezintathu zokucaphuna: uhlamvu lokuphunyuka , izingcaphuno ezilodwa, kanye izingcaphuno ezimbili.

Ukubuyiselwa emuva okungaphenduliwe ( \ ) kuyinhlamvu yokuphunyuka . Igcina inani langempela lomlingiswa olandelayo olandelayo, ngaphandle kwe . Uma kuvela pair, futhi ukubuyiselwa emuva akukona okucatshangwayo, i- \ ithathwa njengokuqhubeka komugqa (okungukuthi, isusiwe ukusuka ekusakazweni kokufakwayo futhi inganakwa kahle).

Ukufaka izinhlamvu ezinkampanini ezilodwa kugcina inani langempela lomlingiswa ngamunye ngaphakathi kwamaphuzu. Ukucaphuna okukodwa kungenzeki phakathi kwamaphuzu angashadile, ngisho nangaphambi kokubuyela emuva.

Ukufaka izinhlamvu kuzingcaphuno ezimbili kugcina inani langempela labo bonke abalingiswa ngaphakathi kwamaphuzu, ngaphandle kwe $ , ` , futhi \ . Izinhlamvu $ futhi ` zigcina incazelo yazo ekhethekile ngaphakathi kwamacaphuno amabili. Ukubuyela emuva kugcina incazelo ekhethekile kuphela uma kulandelwa enye yezinhlamvu ezilandelayo: $ , ` , " , \ , noma . Ukucaphuna okuphindwe kabili kungacatshangelwa ngaphakathi kwamacaphuno amabili ngokuyilandela emuva.

Imingcele ekhethekile * ne- @ inencazelo ekhethekile uma kuzicaphuno ezimbili (bheka ama- PARAMETERS ngezansi).

Amazwi afomu elithi $ ' string ' aphathwa ngokukhethekile. Izwi liya ku- string , ngezinhlamvu eziphunyuka emuva ezithathwe njengalokhu kucacisiwe ngendlela ejwayelekile ye-ANSI C. Ukulandelana kwemiphumela yokuphunyuka emuva, uma kukhona, kunqunywe kanje:

\ a

uqaphile (insimbi)

\ b

i-backspace

\ e

uhlamvu lokuphunyuka

\ f

faka okuphakelayo

\ n

umugqa omusha

\ r

ukubuya kwezimoto

\ t

ithebhu enezingqimba

\ v

ithebhu eliqondile

\\

ukubuyela emuva

\ '

ukucaphuna okukodwa

\ nnn

umlingiswa we-bit-bit owalubiza ngokuthi yi-octal value nnn (amadijithi owodwa kuya kwabathathu)

\ x HH

umlingiswa we-bit-bit owalubiza nge-hexadecimal value HH (eyodwa noma amabili amahektha ayizinombolo)

\ c x

isilawuli sokulawula- x

Umphumela owandisiwe ucashunwe owodwa, njengokungathi isibonakaliso se-dollar sasingekho.

Inhlamvu ecashunwe kabili elandelwa isibonakaliso se-dollar ( $ ) izokwenza ukuthi izintambo zihunyushwe ngokuvumelana nendawo yamanje. Uma indawo yendawo yamanje i- C noma i- POSIX , isibonakaliso se-dollar sinakiwe. Uma ngabe ucingo luhunyushwa futhi lushintshwa esikhundleni, ukushintshwa kuphinde kucatshangwe kabili.

PARAMETERS

Ipharamitha yinhlangano egcina amagugu. Kungaba igama , inombolo, noma enye yezinhlamvu ezikhethekile ezibalwe ngezansi ngaphansi kweParameters Special . Ngezinhloso zegobolondo, ukuguquguquka kuyinto ipharamitha ebizwa ngegama . Okuguquguqukayo kunenani lezinhlamvu noma ezinye izimfanelo . Izimfanelo zinikezwa ngokusebenzisa umyalo owakhiwe ngokumemezela (bheka ubonise ngezansi ku-SHELL BUILTIN COMMANDS ).

Ipharamitha isethwe uma inikezwe inani. Inkambo ye-null iyinani elivumelekile. Uma kusetha ukuguquguquka, kungase kusetshenziswe kuphela ngokusebenzisa umyalo ongakhethiwe we-builtin (bona SHELL BUILTIN COMMANDS ngezansi).

Isichazamazwi singabelwa isitatimende sefomu

igama = [ inani ]

Uma inani linganikezwa, ukuguquguquka kunikezwa i-string yangempela. Wonke amanani afana nokunwetshwa kwe-tilde, ipharamitha nokukhuliswa okuguquguqukayo, ukufaka esikhundleni somyalo, ukwandiswa kwe-arithmetic, nokususwa kokucaphuna (bheka ukuhlolwa okungezansi). Uma ngabe okuguquguqukayo kunesibalo esiphezulu se- attribute, khona-ke inani lihambisana nokukhuliswa kwe-arithmetic ngisho noma ukukhuliswa kwe $ ((...)) kungasetshenziswanga (bheka ukukhuliswa kwe- Arithmetic ngezansi). Ukuhlukaniswa kwegama akukwenziwa, ngaphandle kwe- "$ @" njengoba kuchazwe ngezansi ngaphansi kweParam Parameters . Ukunwetshwa kwegama akukwenziwa. Izitatimende zesabelo zingase zivele njengeziphakamiso zokumemezela , izinhlobo , ukuthekelisa , ukufunda kanye nemiyalo yendawo yokwakha.

Izingqinamba zendawo

Ipharamitha yesikhashana ipharamitha evezwe yinombolo eyodwa noma ngaphezulu, ngaphandle kwedijithali elilodwa 0. Imingcele yesikhashana inikezwa ezimpikiswaneni zegobolondo uma ibuyiselwa, futhi ingabe isabelwa kabusha ngokusebenzisa umyalo ohleliwe . Imingcele yesikhashana kungenzeka ingabelwe izaziso zesabelo. Imingcele ye-positional ithathelwe indawo okwesikhashana lapho umsebenzi wegobolondo ukwenziwa (bona IMISEBENZI engezansi).

Uma ipharamitha elisezingeni elihlanganisa okungaphezu kwedijithali elilodwa landa, kufanele lifakwe emabhokisini (bheka ukuhlolwa okungezansi).

Izingqikithi ezikhethekile

Igobolondo ithatha imingcele eminingana ngokukhethekile. Lezi zimingcele zingabhekiswa kuphela; isabelo kubo asivumelekile.

*

Iyanda kwimingcele yesikhashana, kusukela kokuqala. Lapho ukwanda kwenzeka ngaphakathi kwamacaphuno aphindaphindiwe kabili, liya egameni elilodwa ngokubaluleka kwepharamitha ngayinye ehlukaniswe umlingisi wokuqala we- IFS ekhethekile eguquguqukayo. Okusho ukuthi " i-$ * " ilingana no- " $ 1 c $ 2 c ... ", lapho c kungumlingisi wokuqala wenani le-variable ye- IFS . Uma i- IFS ingasethiwe, imingcele ihlukaniswa izikhala. Uma i- IFS ingenalutho , imingcele ihlanganiswa ngaphandle kokuhlukanisa abahlanganyeli.

@

Iyanda kwimingcele yesikhashana, kusukela kokuqala. Lapho ukwanda kwenzeka ngaphakathi kwamacaphuno amabili, ipharamitha ngalinye liya egameni elihlukile. Okusho ukuthi, i- " $ @ " kufana ne " $ 1 " " $ 2 " ... Uma kungekho mingcele yemibandela, i- " $ @ " ne- $ @ yanda ize (ie, isuswe).

#

Iyanda kwinombolo yemigomo yesimo esiphezulu.

?

Iyanda esimweni sepayipi yangaphambili esanda kubulawa.

-

Iyanda kumakhansela okukhethwa kukho okwamanje njengoba ecacisiwe ekufuneni, ngomyalo ohleliwe oqokiwe , noma lawo asethwe igobolondo uqobo (njengokuthi i- i- option).

$

Iyanda ku-ID yenqubo yegobolondo. Ku-(a) phansi, ikhula kwi-ID yenqubo yegobolondo yamanje, hhayi i-subshell.

!

Iyanda ku-ID yenqubo yesimiso sangasese esasanda kubulawa (umyalezo we-asynchronous).

0

Iyanda egameni legobolondo noma i-shell shell. Lokhu kusethwe ekuqalisweni kwegobolondo. Uma ibhasi isetshenziswe ngefayela lemiyalo, $ 0 isethelwe egameni lelo fayela. Uma ibhasi iqala nge-- c inketho, ke i-$ 0 isethwe ku-ingxabano yokuqala ngemuva kwechungechunge okufanele yenziwe, uma umuntu ekhona. Uma kungenjalo, usethelwe egameni lefayela elisetshenziselwa ukucela ibha , njengoba kunikezwe ngxabano zero.

_

Ekuqaliseni kwegobolondo, usethe igama eliphelele lefayela legobolondo noma iskripthi segobolondo esenziwa njengoba kudluliswa ohlwini lwezingxabano. Ngokulandelayo, iqhubekela engxabaneni yokugcina kumyalo wangaphambilini, ngemuva kokunwetshwa. Futhi usethe igama eliphelele lefayela lemiyalezo ngayinye eyenziwe futhi ibekwa kwimvelo ethunyelwe kulowo myalo. Uma uhlola i-imeyili, le parameter ibamba igama lefayela leposi okwamanje elihloliwe.

I-Shell Variables

Izinguquko ezilandelayo zibekwe yigobolondo:

BASH

Iyanda egameni lefayela eligcwele elisetshenziselwa ukucela lesi senzakalo se- bash .

BASH_VERSINFO

I-variable ye-readonly eguquguqukayo eyamalungu ayo abamba ulwazi lomthombo walesi senzakalo se- bash . Amagugu anikezwe amalungu amalungu afana nalokhu:

BASH_VERSINFO [ 0]

Inombolo enkulu yenombolo ( ukukhululwa ).

BASH_VERSINFO [ 1]

Inombolo encane yenombolo ( inguqulo ).

BASH_VERSINFO [ 2]

Izinga le-patch.

BASH_VERSINFO [ 3]

Inguqulo yokwakha.

BASH_VERSINFO [ 4]

Isimo sokukhululwa (isb., I- beta1 ).

BASH_VERSINFO [ 5]

Inani le- MACHTYPE .

BASH_VERSION

Iyanda kuchungechunge echaza inguqulo yalesi senzakalo se- bash .

COMP_CWORD

COMP_LINE

Umzila wamanje wamanje. Lokhu kuguquguquka kuyatholakala kuphela emisebenzini yegobolondo nemilayezo yangaphandle eyenziwe yizikhungo zokuqedela okuhleliwe (bheka Ukuqedela okuhlelekile ngezansi).

COMP_POINT

COMP_WORDS

I-variable variable (bheka i- Arrays ngezansi) equkethe amagama ahlukile kumugqa womyalo wamanje. Lokhu kuguquguquka kuyatholakala kuphela emisebenzini yegobolondo eyenziwe yizikhungo zokuqedela okuhleliwe (bheka Ukuqedela okulungiswayo ngezansi).

DIRSTACK

I-variable variable (bheka i- Arrays ngezansi) equkethe okuqukethwe okwamanje kwidokhumenti yomqondisi. Ama- directory avela emgqeni ngendlela eboniswa yi- dirs builtin . Ukunikezela kwamalungu walolu hlobo oluguquguqukayo lungasetshenziselwa ukushintsha izinkomba kakade emgqeni, kodwa ama- pushd ne- popd builds kufanele asetshenziselwe ukwengeza nokususa izinkomba. Isabelo kuloluguquguquko ngeke kushintshe isiqondisi samanje. Uma i- DIRSTACK ingasethiwe, ilahlekelwa izakhiwo zayo ezikhethekile, noma ngabe ibuye isethwe kabusha.

I-EUID

Iyanda ku-ID yomsebenzisi osebenzayo yomsebenzisi wamanje, iqaliswe ekuqalisweni kwegobolondo. Lokhu kuguquguquka kufundeka.

FUNCNAME

Igama lomsebenzi wegobolondo okwenziwa manje. Lokhu kuguquguquka kukhona kuphela uma umsebenzi wegobolondo usebenza. Izabelo ku- FUNCNAME azikho umphumela futhi zibuyisela isimo sephutha. Uma i- FUNCNAME ingasethiwe, ilahlekelwa izakhiwo zayo ezikhethekile, noma ngabe ibuye isethwe kabusha.

I-GROUPS

Okuguquguqukayo okuguquguqukayo okuqukethe uhlu lamaqembu omsebenzisi wamanje ilungu. Izabelo ku- GROUPS azikho umphumela futhi zibuyisela isimo sephutha. Uma i- GROUPS ingasethiwe, ilahlekelwa izakhiwo zayo ezikhethekile, noma ngabe ibuye isethwe kabusha.

HISTCMD

Inombolo yomlando, noma inkomba ohlwini lwamlando, lomyalo wamanje. Uma i- HISTCMD ingasethiwe, ilahlekelwa izakhiwo zayo ezikhethekile, noma ngabe ihlelwa kabusha.

HOSTNAME

Setha ngokuzenzekelayo egameni lomphathi wamanje.

HOSTTYPE

Setha ngokuzenzakalelayo uchungechunge oluchaza ngokucacile uhlobo lomshini lapho ibha ikhiphe khona. Okuzenzakalelayo kuxhomekeke ohlelweni.

LINENO

Ngalinye isikhathi lapho leli pharamitha likhonjisiwe, igobolondo ithatha inamba yedesimali emele inombolo yezinombolo zamanje (okuqala ngo-1) ngaphakathi kweskripthi noma umsebenzi. Uma kungenjalo kwiskripthi noma kumsebenzi, ukubaluleka okufakelwe akuqinisekisiwe ukuthi kunenjongo. Uma i- LINENO ingasethiwe, ilahlekelwa izakhiwo zayo ezikhethekile, noma ngabe ibuye isethwe kabusha.

MACHTYPE

Setha ngokuzenzakalelayo uchungechunge oluchaza ngokugcwele uhlobo lwesistimu lapho ibha ikhiphe khona, kufomethi ye-GNU cpu-inkampani- standard. Okuzenzakalelayo kuxhomekeke ohlelweni.

OLDPWD

Isiqondisi esedlule sokusebenza njengoba kusethwe umyalo we- cd .

I-OPTARG

Inani lempikiswano yokukhetha yokugcina elandelwa umyalo we- getopts builtin (bona SHELL BUILTIN COMMANDS ngezansi).

OPTIND

Inkomba yempikiswano elandelayo ezocubungulwa ngumyalo we- getopts builtin (bheka ama- SHELL BUILTIN COMMANDS ngezansi).

I-OSTYPE

Setha ngokuzenzekelayo kwichungechunge echaza uhlelo lokusebenza lapho ibha ikhiphe khona. Okuzenzakalelayo kuxhomekeke ohlelweni.

I-PIPESTATUS

I-variable variable (bheka ama- Arrays ngezansi) aqukethe uhlu lokubaluleka kwesimo sokuphuma kusuka ezinkambweni kumaphayiphi wangaphambili osanda kufezwa (okungase kube nomyalo owodwa kuphela).

I-PPID

I-ID yenqubo yomzali wegobolondo. Lokhu kuguquguquka kufundeka.

I-PWD

Isiqondisi samanje esisebenza njengasethelwe umyalo we- cd .

RANDOM

Ngalinye isikhathi lapho leli pharamitha likhonjisiwe, inani elingahleliwe phakathi kuka-0 no-32767 lenziwa. Ukulandelana kwezinombolo ezingahleliwe kungaqaliswa ngokunikeza inani ku- RANDOM . Uma i- RANDOM ingasethiwe, ilahlekelwa izakhiwo zayo ezikhethekile, noma ngabe ihlelwa kabusha.

REPLY

Hlela emgqeni wokufakelwa okufundwa ngumyalo ofundwayo owakhelwe lapho kungekho ziphakamiso ezinikeziwe.

SECONDS

Ngaso sonke isikhathi leli pharamitha lichazwe, inombolo yamasekhondi kusukela ukucela igobolondo kubuyiselwe. Uma inani linikezelwa ku- SECONDS , inani libuyele emuva ekubhekiseni okulandelayo yinombolo yamasekhondi kusukela kwesabelo kanye nenani elinikezwe. Uma i- SECONDS ingasethiwe, ilahlekelwa izakhiwo zayo ezikhethekile, noma ngabe ibuye isethwe kabusha.

SHELLOPTS

Uhlu oluhlukanisiwe kololoni lwezinketho zegobolondo ezinikwe amandla. Igama ngalinye ohlwini luyimpikiswano evumelekile yohlu -okhetho kumyalo osethiwe obekiwe (bona SHELL BUILTIN COMMANDS ngezansi). Okukhethwa kukho okuvela ku- SHELLOPTS kulabo okubikwe njengokuthi kusethwe -o . Uma lokhu kuguquguquka kusendaweni uma ibhasi iqala, inketho ngayinye yegobolondo ohlwini izovunyelwa ngaphambi kokufunda noma yikuphi amafayela okuqalisa. Lokhu kuguquguquka kufundwa kuphela.

SHLVL

Kunwetshwe yilowo nalowo isikhathi sokuqala kwebhashi .

I-UID

Iyanda ku-ID yomsebenzisi womsebenzisi wamanje, iqaliswe ekuqalisweni kwegobolondo. Lokhu kuguquguquka kufundeka.

Izinguquko ezilandelayo zisetshenziswa igobolondo. Kwezinye izimo, i- bash inikeza inani elizenzakalelayo kuguquguqukayo; lezi zimo ziphawulwe ngezansi.

BASH_ENV

Uma le parameter isethiwe uma ibhasi yenza iskripthi segobolondo, inani layo lihunyushwa njengegama lokufaka eliqukethe imiyalo yokuqalisa igobolondo, njengokuthi ~ / .bashrc . Ukubaluleka kwe- BASH_ENV kuncike ekunwetsheni kwepharamitha, ukufaka indawo esikhundleni, nokukhuliswa kwe-arithmetic ngaphambi kokuhunyushwa njengegama lefayela. I-PATH ayisetshenziselwa ukucinga igama lefayela eliholela.

CDPATH

Indlela yokusesha yomyalo we- cd . Lena uhlu oluhlukaniswe kolononi lwamafayela lapho igobolondo ibheka khona izindawo zokuya ezichazwe umyalo we- cd . Inani lesampula ".: ~: / Usr".

COLUMNS

Isetshenziswe umyalo okhethiwe wokwakhiwa ukuze unqume ububanzi bokugcina uma ubhala uhlu lokukhetha. Setha ngokuzenzakalelayo lapho sithola i-SIGWINCH.

QAPHELA

I-variable eguquguqukayo esuka lapho ifunda khona ifundela ukugcwaliswa okungenzeka okukhiqizwa umsebenzi wegobolondo owenziwe ngesikhungo sokuqedela esilungisiwe (bheka Ukuqedela Okuhlelekile ngezansi).

FCEDIT

Umhleli ozenzakalelayo womyalo we- fc builtin.

FIGNORE

Uhla oluhlukanisiwe koluloni lwezilinganiso ukungayinaki lapho ugcwalisa igama lefayela (bheka READLINE ngezansi). Igama lokufaka elixhumene nelinye lezinto ezifakiwe ku- FIGNORE alufakiwe kuhlu lwamagama afakiwe . Inani lesampula ".o: ~".

GLOBIGNORE

Uhla oluhlukaniswe ngamakholomu lwamaphetheni oluchaza isethi yamagama okufakiwe okungazinakwa ngandlela-thile yendlela. Uma igama lefayela elifanekisiwe nephethini yendlela yokwandisa idinga elinye lamaphethini ku- GLOBIGNORE , lisusiwe ohlwini lwemidlalo.

I-HISTCONTROL

Uma isethwe kunani lokungaboni indawo , imigqa eqala ngomlingisi wesikhala ayifakiwe kuhlu lomlando. Uma isethwe kunani lokungazibali , imigqa efana nomugqa womlando wokugcina ayifakiwe. Inani le- ignoreboth lihlanganisa lezi zindlela ezimbili. Uma ungasethiwe, noma uma usethe kunoma iyiphi enye inzuzo kunalezo ezingenhla, yonke imigqa efundwa ngumsunguli igcinwa ohlwini lwamlando , ngokuya kwenani le- HISTIGNORE . Umsebenzi wokuguquguquka uphelelwa ngu- HISTIGNORE . Imigqa yesibili kanye elandelwayo yomyalelo we-multi-line compound ayihlolwe , futhi ingeziwe emlandweni kungakhathaliseki ukuthi yi- HISTCONTROL .

HISTFILE

Igama lefayela lapho umlando wamyalo ulondolozwa khona (bona i- HISTORY ngezansi). Inani elizenzakalelayo lingu- ~ / .bash_history . Uma ungasethiwe, umlando wamyalo awusindiswa lapho igobolondo elihlangene liphuma.

HISTFILESIZE

Inani eliphezulu lemigqa equkethwe efayeleni lomlando. Uma lokhu kuguquguquka kunikezwa inani, ifayela lomlando lithathwa, uma kunesidingo, ukuba lingenakho ngaphezu kwaleyo namba yemigqa. Inani elizenzakalelayo liyi-500. Ifayela lomlando liphinde lithwetshwe kuleli shiya ngemuva kokulibhala lapho igobolondo elihlangene liphuma.

HISTIGNORE

Uhlu oluhlukaniswe ngamakholomu lwamaphetheni asetshenziselwa ukunquma ukuthi yimiphi imigqa yomyalo kufanele igcinwe ohlwini lwabalomlando. Iphethini ngayinye inamathele ekuqaleni komugqa futhi kufanele ihambisane nomugqa ophelele (akukho okucacile ` * 'okuhlanganisiwe). Iphethini ngayinye ihlolwe ngokumelene nomugqa ngemuva kokuhlola okushiwo yi- HISTCONTROL . Ngokungeziwe kubalingiswa obufanayo bephethini yefoland yephathini, ` & 'ifana nomugqa womlando odlule. ` & 'ingase iphunyuke isebenzisa ukubuyela emuva; ukubuyela emuva kususwe ngaphambi kokuzama ukufaniswa. Imigqa yesibili kanye elandelwayo yomyalo we-multi-line compound umlayezo awuhlolwa, futhi ungeze emlandweni kungakhathaliseki ukuthi yi- HISTIGNORE .

HISTSIZE

Inombolo yemiyalo okumele uyikhumbule emlandweni womyalo (bona i- HISTORY ngezansi). Inani elizenzakalelayo liyi-500.

IKHAYA

Umhlahlandlela wasekhaya womsebenzisi wamanje; ukuphikisana okuzenzakalelayo komyalo we- cd builtin. Inani le-variable liphinde lisetshenziswe lapho kwenziwa ukukhuliswa kwe-tilde.

HOSTFILE

Iqukethe igama lefayela kufomathi efanayo kanye / njll / ibamba ukuthi kufanele lifundwe uma igobolondo idinga ukuqedela igama lomsingeli. Uhlu lwama-hostname angagcwaliswa lungashintshwa ngenkathi igobolondo isebenza; isikhathi esizayo sokuqanjwa kwegama lesikhamuzi sizama ngemuva kokuguqulwa kwexabiso, bash ubanezela okuqukethwe kwefayela elisha ohlwini olukhona. Uma i- HOSTFILE isethiwe, kodwa ayinanzuzo , bashishi uzama ukufunda / njll / abamba ibamba ukuze uthole uhlu lokuqedelwa kwegama lomngane. Lapho i- HOSTFILE ingasethiwe, uhlu lwamagama we-hostname lusuliwe.

IFS

I- Internal Field Separator esetshenziselwa ukuhlukanisa amagama emva kokunwetshwa nokuhlukanisa imigqa ngamazwi nomyalo owakhiwe. Inani elizenzakalelayo liyi `` ''.

IGNOREEOF

Ilawula isenzo segobolondo lokusebenzisana ekutholeni umlingiswa we- EOF njengendlela yokufaka kuphela. Uma isethwe, inani liyinombolo yezinhlamvu ze- EOF ezilandelanayo okufanele zifakwe njengezinhlamvu zokuqala emgqeni wokufaka ngaphambi kokuphuma kwebhasi. Uma ukuguquguquka kukhona kepha kungenani lezinombolo, noma kungenanzuzo, inani elizenzakalelayo liyi-10. Uma lingekho, i- EOF ibonisa ukuphela kokufaka kwigobolondo.

I-INPUTRC

Igama lokufaka lefayili lokuqala lokufunda , ngaphezu kokuzenzakalelayo kwe ~ ~ .inputrc (bheka READLINE ngezansi).

LANG

Isetshenziselwe ukucacisa isigaba sendawo kunoma yisiphi isigaba esingakhethiwe ngokuqondile ngokuhlukahluka okuqala nge- LC_ .

LC_ALL

Lokhu kuguquguquka kudlula inani le- LANG nanoma yikuphi ukuhluka kwe- LC_ okuchaza isigaba sendawo.

LC_COLLATE

Lokhu kuguquguquka kunquma ukuhlelwa kwe-collation okusetshenziselwa lapho kuhlunga imiphumela yendlela yokwandisa, futhi kunquma ukuziphatha kwezinkulumo zamabanga, amakilasi afanayo, nokulandelana kokulandelana ngaphakathi kwegama le-pathname ukwandiswa nokufaniswa kwephethini.

LC_CTYPE

Lokhu kuguquguquka kunquma ukuchazwa kwabalingiswa kanye nokuziphatha kwamakilasi okulingiswa ngaphakathi kwendlela yokwandisa nokufana nephethini.

LC_MESSAGES

Lesi shintshashintsha sinquma indawo esetshenziselwa ukuhumusha izintambo ezicatshangwe kabili ezilandelwe i $ .

LC_NUMERIC

Lokhu kuguquguquka kunquma isigaba sendawo esetshenziselwa ukufometha kwenombolo.

I-LINES

Isetshenziswe umyalo okhethiwe wokwakha ukucacisa ubude bekholomu bokunyathelisa izinhlu zokukhethwa. Setha ngokuzenzakalelayo lapho sithola i-SIGWINCH.

MAIL

Uma le parameter isethelwe egameni lefayela futhi isichazamazwi se- MAILPATH asisethiwe , ishayela sizisa umsebenzisi wokufika kwemeyili kufayela elicacisiwe.

MAILCHECK

Icacisa ukuthi kaningi kangakanani (ngemizuzwana) bashisha amasheke ngeposi. Okuzenzakalelayo kungamasekhondi angu-60. Uma sekuyisikhathi sokuhlola i-imeyili, igobolondo yenza kanjalo ngaphambi kokubonisa okusheshayo. Uma lokhu kuguquguquka kungasethiwe, noma kusethelwe kunani elingelona inombolo enkulu kunaleyo noma elingana no-zero, igobolondo ikhubaza ukuhlola i-imeyili.

MAILPATH

Uhlu oluhlukaniswe kolononi lwamagama wefayela ukuze luhlolwe ngeposi. Umlayezo ozophrinta uma iposi lifika efayeleni elithile lingachazwa ngokuhlukanisa igama lefayela kusuka kumlayezo nge `? '. Uma isetshenziswe embhalweni womlayezo, i-$ _ iyanda egameni le-mailfile yamanje. Isibonelo:

MAILPATH = '/ var / mail / bfox? "Uneposi": ~ ~ / i-shell-mail? "I-$ _ ineposi!"'

I-Bash inikeza inani elizenzakalelayo leliguquguquki, kodwa indawo yamafayela omsebenzisi we-imeyili ayisebenzisayo isistimu encike (isib, / var / mail / $ USER ).

I-OPTERR

Uma isethwe ku-value 1, bashisa imilayezo yephutha eyenziwe ngumyalo we- getopts builtin (bheka i- SHELL BUILTIN COMMANDS ngezansi). U-OPTERR uqaliswa ku-1 njalo isikhathi igobolondo isetshenzisiwe noma iskripthi segobolondo senziwa.

PATH

Indlela yokucinga yemilayezo. Yiluhlu oluhlukanisiwe lwamakholomu wezinkomba lapho igobolondo ibheka khona imiyalo (bheka UKUPHUMA KWAMANDLA ngezansi). Indlela ezenzakalelayo ixhomekeke ohlelweni, futhi isethwe ngumlawuli ofaka ibha . Inani elivamile lingu `` / usr / gnu / bin: / usr / yendawo / bin: / usr / ucb: / bin: / usr / bin :. ''.

POSIXLY_CORRECT

Uma lokhu kuguquguquka kusendaweni lapho i- bash iqala, igobolondo ifaka imodi ye-posix ngaphambi kokufunda amafayela okuqala , njengokungathi ukhetho lwe- postx lokucela ukunikezwa luhlinzekwe. Uma isethwe ngenkathi igobolondo isebenza, ibhasi yenza imodi ye-posix , njengokungathi umyalo obekiwe -o posix ususiwe.

PROMPT_COMMAND

Uma isethwe, inani likhishwa njengomyalo ngaphambi kokukhipha umkhankaso ngamunye oyinhloko.

PS1

Inani lepharamitha landa (bheka UKUPHUMA ngezansi) futhi lisetshenziswe njengechungechunge oluyisisekelo. Inani elizenzakalelayo lithi `` \ s- \ v \ $ ''.

I-PS2

Inani laleli pharamitha landa njenge- PS1 futhi lisetshenziswe njengechungechunge lokuphinda okusheshayo. Okuzenzakalelayo kungukuthi `` > ''.

PS3

Inani lepharamitha lisetshenziselwa ukuhambisa umyalo wokukhetha (bona i- SHELL GRAMMAR ngenhla).

PS4

Inani lepharamitha landa njenge- PS1 futhi inani liphrintiwe ngaphambi kokuba umyalo ngamunye ubonise ukubonisa ngesikhathi sokulandelwa kokubulawa. Isilinganiso sokuqala se- PS4 sichazwa izikhathi eziningi, uma kunesidingo, ukukhombisa amazinga amaningi wokuhlelwa. Okuzenzakalelayo kungukuthi `` + ''.

TIMEFORMAT

Inani laleli pharamitha lisetshenziswe njengendlela yefomathi yefomethi echaza indlela ulwazi lwesikhathi sokusebenza kwamapayipi olusungulwe ngaphambilini ngegama eligcinwe igama kufanele liboniswe. Umlingisi we- % uveza ukulandelana kokuphunyuka okwandiswa kuze kube yikhathi sokwaziswa noma olunye ulwazi. Ukulandelana kokuphunyuka kanye nezincazelo zabo zilandelayo; ama-braces akhomba izingxenye ezikhethwa kukho.

%%

A literal % .

% [ p ] [l] R

Isikhathi esiphelile ngemizuzwana.

% [ p ] [l] U

Inombolo yamasekhondi we-CPU asetshenziswe kumodi yomsebenzisi.

% [ p ] [l] S

Inombolo yamasekhondi we-CPU asetshenziswe kumodi yesistimu.

% P

Iphesenti le-CPU, elibalwa ngokuthi (% U +% S) /% R.

I-optional p iyinombolo echaza ngokucacile , inani lamadijithi angama-fractional ngemuva kwephuzu lesimanje. Inani le-0 alibangela iphoyinti le-decimal yedeskithophu noma ingqikithi ekhishwayo. Izindawo ezingaphezu kwezintathu ngemuva kwephuzu lesimingcele lingachazwa; Amagugu angaphezulu kuka-3 ashintshwe abe ngu-3. Uma i- p ingacacisiwe, inani le-3 lisetshenzisiwe.

I okukhethwa kukho l ithawula ifomethi ende, kufaka phakathi imizuzu, ifomu MM m SS . FF s. Inani le- p linquma ukuthi ingxenyeni ifakiwe noma cha.

Uma lokhu okuguquguqukayo kungasethiwe, ibhethri yenza njengokungenani inani le $ '\ nreal \ t% 3lR \ nuser \ t% 3lU \ nsys% 3lS' . Uma inani lingenalutho, akukho ulwazi lwesikhathi olubonakalayo oluboniswayo. I-lineline entsha elandelanayo ingeziwe uma ifonti yefomethi iboniswa.

TMOUT

Uma isethwe kunani elikhulu kunezero, i- TMOUT iphathwa njengesikhathi sokuzenzakalelayo sokufundwa okufundwayo . Umyalo wokukhetha uqeda uma ukufakelwa kungafiki emva kwamasekhondi angu- TMOUT uma okokufaka kuvela esibulalayo. Kugobolondo lokusebenzisana, inani lihunyushwa njengenombolo yamasekhondi ukulinda okokufaka ngemuva kokukhipha umkhankaso oyinhloko. I-Bash iphela ngemuva kokulinda leyo nombolo yamasekhondi uma ukufaka kungafiki.

auto_resume

Lokhu kuguquguquka kulawula ukuthi igobolondo ixhumana kanjani nomsebenzisi nokulawula umsebenzi. Uma lokhu kuguquguquka kusethelwe, imiyalo eyodwa yezwi engaqondakali ngaphandle kokuqondiswa iphathwa njengezikhethi zokuqalisa kabusha umsebenzi omisiwe okhona. Akukho okungaqondakali okuvunyelwe; uma kunomsebenzi ongaphezu kweyodwa oqala ngocingo olufakiwe, umsebenzi osanda kutholakala ukhethiwe. Igama lomsebenzi omisiwe, kulo mongo, umugqa womyalo osetshenziselwa ukuwuqala. Uma isethwe kunani eliqondile , intambo ehlinzekwayo kufanele ifane negama lomsebenzi omisiwe kahle; uma isethelwe endaweni engezansi , insimu ehlinzekwayo idinga ukufanisa okulandelayo kwegama lomsebenzi omisiwe. Inani le- substring linikeza ukusebenza okufana ne %? Isihlonzi somsebenzi (bona ukuphathwa kweJOB ngezansi). Uma isethwe kunoma yiliphi elinye inani, uchungechunge olunikezwayo kufanele kube yisiqalo segama lomsebenzi omile; lokhu kunikeza ukusebenza okufana nomsebenzisi wokuhlonza umsebenzi.

histchars

Izinhlamvu ezimbili noma ezintathu ezilawula ukwandiswa komlando nokuhweba (bheka i- HISTORY EXPANSION ngezansi). Umlingisi wokuqala ngumlingiswa wokwandisa umlando , umlingiswa okhombisa ukuqala komlando wokukhulisa, ngokujwayelekile ` ! '. Umlingiswa wesibili ungumlingisi osheshayo wokufaka endaweni , osetshenziselwa ukuphinda usebenze umyalo wangaphambilini wangena, ukufaka omunye ucingo lomunye ngomyalo. Okuzenzakalelayo kungukuthi ` ^ '. Umlingiswa wesithathu ozikhethela ngumlingiswa obonisa ukuthi okusele komugqa ukuphawula lapho kutholakala njengobunjwa bokuqala begama, ngokuvamile ` # '. Umlingisi womlando womlando wenza ukuthi ukufaka esikhundleni komlando kudonswe ngamagama asele emgqeni. Akusho ukuthi imbangela yegobolondo ilawule wonke umugqa njengendlela yokuphawula.

I-Arrays

I-Bash inikeza okuguquguqukayo kwe-single-dimensional array. Noma yikuphi ukuguquguquka kungasetshenziswa njenge-array; i-proclaimed builtin izocacisa ngokucacile ukuthi i-array. Akukho mkhawulo ophezulu ngobukhulu be-array, nanoma yimiphi imfuneko ukuthi amalungu abekwe indexed noma abelwe ngokuzenzekelayo. I-Arrays ifakwe indexed ngokusebenzisa integers futhi i-zero-based.

I-array idalwe ngokuzenzakalelayo uma kunoma yikuphi ukuhluka okunikezwayo ukusebenzisa igama le-syntax [ subscript ] = value . I- subscript iphathwa njengezwi le-arithmetic okufanele lihlolisise kwinombolo enkulu kunaleyo noma elingana no-zero. Ukuze uchaze ngokucacile uhlelo olulodwa, sebenzisa ukumemezela- igama (bona SHELL BUILTIN COMMANDS ngezansi). ukumemezela- igama [i- subscription ] liyamukelwa futhi; okubhaliselwe kubanjwe. Izimfanelo zingacaciswa ngenani eliguquguqukayo ngokusebenzisa izakhiwo ezimemezelayo nezifundiswayo. Isici ngasinye sisebenza kuwo wonke amalungu eqembu.

Ama-arrays anikezwe ukusebenzisa izabelo eziyinhlanganisela yegama lefomu = ( inani 1 ... inani n ) , lapho inani ngalinye lingefomu [ subscript ] = string . Kudingeka izintambo kuphela. Uma kubakaki okukhethwa kukho kanye nokubhalisa okunikezwayo, leyo nkomba ibelwe; ngaphandle kwalokho inkomba yesici esinikezwe yinkomba yokugcina eyabelwe isitatimende kanye nanye. Ukubonisa ukuqala kuqala ku-zero. Le syntax nayo yamukelwa yi-advert builin. Izakhi zomuntu ngamunye zingabelwa ukusebenzisa igama [i- subscript ] = inani le- syntax elifakwe ngenhla.

I-built-up engasetshenzisiwe isetshenziselwa ukubhubhisa izigaba. Igama elingalungile [ ukubhalisa ] libhubhisa isici se-array kwi-index subscript . igama elingasethiwe , lapho igama liyi-array, noma lihlukanise igama [ ukubhalisa ], lapho okubhaliselwe khona * noma @ , kususa lonke uhlu.

Izakhiwo zokumemezela , zendawo , nezase- readonly zamukela ngamunye - inketho yokucacisa uhlu. I-readin eyamukelayo yamukela i- akhetho yokwabela uhlu lwamagama afundwa kusuka ekufakeni okujwayelekile kuya kuhlu. Amaqoqo asetshenzisiwe futhi awakhiwe abonisa izindinganiso zamanani ngendlela evumela ukuthi ziphinde zisetshenziswe njengezabelo.

UKUPHATHA

Ukwandiswa kwenziwa emgqeni wokulayisha ngemuva kokuthi uhlukaniswe ngamazwi. Kunezinhlobo eziyisikhombisa zokunwetshwa okwenziwe: ukukhuliswa kwe-brace , ukukhulisa ukuhlanganisa , i- parameter nokukhuliswa okuguquguqukayo , ukufaka esikhundleni somyalo , ukwandiswa kwe-arithmetic , ukuhlukaniswa kwegama , nokwandisa igama .

Ukuhlelwa kokuthengiswa yilokhu: ukuqinisa ukunwetshwa, ukukhulisa, ukuphazamisa, ukukhulisa okuguquguqukayo kanye nokuqondiswa kwemithetho kanye nokufaka esikhundleni somyalo (okwenziwe ngendlela yesobunxele kuya kwesokudla), ukuhlukaniswa kwegama, nokuqamba igama.

Kuzinhlelo ezingase zisekele, kukhona ukunwetshwa okungeziwe okutholakalayo: inqubo yokufaka endaweni .

Ukwandiswa Kwebhande

Ukwandiswa kwe-brace kuyindlela lapho izintambo ezingabheki zingenziwa khona. Le ndlela ifana negama lokukhulisa , kodwa izidingo ezifakiwe ezifakiwe azikho. Amaphethini okufanele abe nesibindi anwetshiwe athathe isimo se- preamble yokuzikhethela, elandelwa uchungechunge lwezintambo ezihlukaniswe ngama-comma phakathi kwe-pair braces, olulandelayo nge- postcript yokuzikhethela. I-preamble i-prefixed kuchungechunge ngalunye equkethwe ngaphakathi kwe-braces, futhi i-postcript isetshenziselwa ukufakwa kwichungechunge ngayinye eholayo, ukwandisa ngakwesobunxele kuya kwesokudla.

Ukunciphisa izinsimbi kungase kube isidleke. Imiphumela yocingo ehlisiwe ngayinye ayilungiswa; kwesokunxele kuya kwesokudla ukugcinwa. Isibonelo, i- { d, c, b } e iya ku- `ade ace abe '.

Ukwandiswa kwe-brace kwenziwa ngaphambi kwanoma yikuphi okunye okuvezwayo, futhi noma yiziphi izinhlamvu ezikhethekile kwezinye izigcawu zigcinwe emphumela. It is strictly textual. I-Bash ayisebenzi nanoma yisiphi isichazamazwi sokwemvelo kunomongo wokwandiswa noma umbhalo phakathi kwama-braces.

Lokhu kwakhiwa kuvame ukusetshenziswa njengesikhashana lapho isiqalo esivamile samasethingi okumele sikhiqizwe singaphezulu kunesibonelo esingenhla:

mkdir / usr / yendawo / src / bash / {ubudala, entsha, dist, izimbungulu}

noma

impande ekhonyiwe /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}

Ukunwetshwa kwe-brace kufaka ukungalingani okuncane nezinguqulo zomlando zesh . sh ayiphathe ama-braces okuvula noma okuvala ngokukhethekile uma ebonakala njengengxenye yegama, futhi alondoloze ekuphumeni. I-Bash isusa ama-braces ngamagama njengomphumela wokwandiswa kwe-brace. Isibonelo, igama elifakwe ku- sh njengefayela {1,2} livela ngokufanayo emkhathini. Igama elifanayo likhishwa njengefayela1 ifayela2 ngemuva kokunwetshwa ngebhasi . Uma ukuhambisana okuqinile ne- sh kuyadingeka, qala ukushisa nge- B + noma ukhiphe ukukhuliswa kwe-brace nge- B + inketho kumyalo osethiwe (bheka SHELL BUILTIN COMMANDS ngezansi).

Ukwandisa kwe-Tilde

Uma igama liqala ngomlingiswa we-tilde ongagciniwe (` ~ '), bonke abalingiswa abandulela ukushaywa okungaxhunyiwe kokuqala (noma zonke izinhlamvu, uma kungekho-slash ongabhalwanga) zibhekwa njengesibalo sokuqala. Uma kungabikho muntu wabalingiswa esiqhingini esilandelayo, kucaciswe amagama abalingiswa esilandelayo esilandelayo njengegama lokungena ngemvume . Uma leli gama lokungena liyi-string ye-null, i-tilde ithathelwe indawo ne-value yepharamitha ye-shell. Uma i- IKHAYA ingasethiwe, isiqondisi sasekhaya somsebenzisi okwenza igobolondo sishintshwa esikhundleni. Uma kungenjalo, isiqalo sesimanga sithathe indawo yerejista yasekhaya ehlotshaniswa negama lokungena elichaziwe.

Uma isibalo sokuqala se-`~ + ', ukubaluleka kwe- PWD eguquguqukayo yegobolondo kufaka esikhundleni se-pre-tilde-prefix. Uma isibalo esilandelayo singu `` - '', inani le-shell variable OLDPWD , uma lisethiwe , lifakwe esikhundleni. Uma izinhlamvu ezilandela umzila kusiqalo se-tilde ziqukethe inomboro N , ngokukhethwa kukho prefixed nge `+ 'noma` -', isibalo esilandelayo sishintshwa nento ehambelana nayo kusukela emgqeni wokuqondisa, njengoba izoboniswa yizinsikazi ezakhiwe ezenziwe nge-tilde-prefix njengengxabano. Uma izinhlamvu ezilandela umzila kusiqalo se-tilde ziqukethe inombolo ngaphandle kokuholela `+ 'noma` -', `+ 'kucatshangwa.

Uma igama lokungena ngemvume alivumelekile, noma ukunwetshwa kwe-tilde kwehluleka, leli gama alishintshi.

Isabelo ngasinye sokuguquguquka sihlolwe izinkomba zangasese ezingafundwa ngokushesha emva kokulandelayo : noma = . Kulezi zimo, kufana nokwandiswa kwenzelwa. Ngenxa yalokho, umuntu angasebenzisa amagama wefayela nge-tildes ezabelweni ku- PATH , MAILPATH , ne- CDPATH , futhi igobolondo inikeza inani elandisiwe.

Ukwandiswa kweParameter

Umlingiswa we- ` $ 'usungula ukukhuliswa kwepharamitha, ukufaka esikhundleni sokufaka esikhundleni, noma ukwandiswa kwe-arithmetic. Igama lepharamitha noma uphawu okufanele landiswe lingase lifakwe emabhokisini, okuyizinketho kodwa zivikela ukuguquguquka ukuze kwandiswe kusuka kubalingiswa ngokushesha okulandelayo okungahunyushwa njengengxenye yegama.

Uma kusetshenziswa ama-brace, ukukhishwa okuhambisanayo kokuqala kungukuthi `` 'akuphunywanga ngokubuyela emuva noma ngaphakathi kwendatshana ecashunwe, hhayi ngaphakathi kokunwetshwa kwe-arithmetic yokufaka, ukufaka esikhundleni somyalo, noma ukukhuliswa kwe-parameter.

Inani lepharamitha lishintshwa esikhundleni. I-braces iyadingeka lapho ipharamitha yimilamitha ye-positional enedijithi engaphezu kweyodwa, noma uma ipharamitha lilandelwa umlingiswa ongacacisiwe njengengxenye yegama layo.

Kuzo zonke izimo ezansi ngezansi, igama kufanele lenze ukukhuliswa, ukukhuliswa kwepharamitha, ukufaka esikhundleni somyalo, nokwandiswa kwezibalo. Uma ungenzi okwenziwe nge-substring extension, bashisa ukuhlolwa kwepharamitha engasethiwe noma ayikho; ukukhipha ikoloni imiphumela ekuvivinyweni kuphela ngeparamitha engasethiwe.

Sebenzisa izilinganiso ezizenzakalelayo . Uma ipharamitha ingasethiwe noma ayikho, ukukhuliswa kwezwi kushintshiwe. Uma kungenjalo, ukubaluleka kwepharamitha kufakwe esikhundleni.

Nika izilinganiso ezizenzakalelayo . Uma ipharamitha ingasethiwe noma ayikho, ukukhuliswa kwezwi kunikezwe ipharamitha . Inani lepharamitha lizofakwa esikhundleni. Imingcele yendawo kanye nemingcele ekhethekile angeke yabelwe ngale ndlela.

Iphutha lokubonisa uma ungasebenzi noma ungasethiwe . Uma ipharamitha engalungile noma engasethiwe, ukunwetshwa kwegama (noma umlayezo kulowo mphumela uma igama lingekho) libhalelwe iphutha elijwayelekile futhi igobolondo, uma ingasebenzi, iphuma. Uma kungenjalo, ukubaluleka kwepharamitha kufakwe esikhundleni.

Sebenzisa inani elihlukile . Uma ipharamitha lingenalutho noma lingasethwanga, akukho lutho olushintshwayo, ngaphandle kwalokho ukunwetshwa kwegama kushintshiwe.

Iyanda kumagama eziguquguquko amagama abo aqala ngesiqalo , ahlukaniswe umlingisi wokuqala we- IFS ehlukile eguquguqukayo.

Ubude kubalingiswa bokubaluleka kwepharamitha kufakwe esikhundleni. Uma ipharamitha lingu * noma @ , inani elifakelwe esikhundleni liyinombolo yemingcele yesikhashana. Uma ipharamitha yigama legama elibhalwe ngu * * noma @ , inani elifakelwe esikhundleni yinombolo yezakhi ezigciniwe.

Leli gama landiswe ukuze lenze iphethini njengokwendlela yokwandisa. Uma iphethini lifanisa ukuqala kwenani lepharamitha , umphumela wokwandiswa yinani elandisiwe lepharamitha ngephethini elifingqiwe elifushane (inkathi `` # '') noma iphethini elide kakhulu elihambisanayo (`` ## ' 'icala) lisusiwe. Uma ipharamitha i- @ noma * * , ukusebenza kwephethini kusetshenziselwa imingcele ngayinye yokumisa, futhi ukwandisa luhlu olulandela. Uma ipharamitha inguquko ehlanganisiwe eyabhaliswa nge- @ noma * * , ukusebenza kokukhishwa kwephethini kusetshenziselwa ilungu ngalinye le-array ngokulandelana, futhi ukunwetshwa kuhlu olulandelayo.

Leli gama landiswe ukuze lenze iphethini njengokwendlela yokwandisa. Uma iphethini ifana nesigaba esilandelayo senani elikhulisiwe lepharamitha , umphumela wokwandiswa yinani elandisiwe lepharamitha nephethini elifingqiwe elifushane (icala `` % '') noma iphethini elifanako elide kakhulu (`` % % '' icala) lisusiwe. Uma ipharamitha i- @ noma * * , ukusebenza kwephethini kusetshenziselwa imingcele ngayinye yokumisa, futhi ukwandisa luhlu olulandela. Uma ipharamitha inguquko ehlanganisiwe eyabhaliswa nge- @ noma * * , ukusebenza kokukhishwa kwephethini kusetshenziselwa ilungu ngalinye le-array ngokulandelana, futhi ukunwetshwa kuhlu olulandelayo.

Iphethini inwetshiwe ukuze ikhiqize iphethini njengendlela yokuqamba igama. I-paramameter inwetshiwe futhi umdwebo omude kakhulu wephethini ngokumelene nenani lalo lushintshwa ngechungechunge . Ngesifomu sokuqala, umdlalo wokuqala kuphela oshintshwa. Ifomu lesibili lenza konke kufanelana nephethini okumele kuthathwe indawo yocingo . Uma iphethini iqala nge- # , kufanele ihambisane nokuqala kwenani elikhulisiwe lepharamitha . Uma iphethini iqala ngo- % , kufanele ihambisane nokuphela kwenani elandisiwe lepharamitha . Uma izintambo zingekho, ukufana kwephethini kususiwe futhi iphethini / elilandelayo lingashiywa. Uma ipharamitha i- @ noma * * , umsebenzi wokufaka endaweni usetshenzisiwe kumapharamitha ngayinye ngokwezifiso, futhi ukwandisa luhlu oluphumela. Uma ipharamitha inguquko ehlanganisiwe eyabhaliswa nge- @ noma * * , umsebenzi wokufaka endaweni usetshenziselwa ilungu ngalinye le-array ngokulandelana, futhi ukwandisa uhlu olulandelayo.

Yenza ukushintshwa

Ukumisa indawo kuvumela ukukhishwa komyalo ukufaka esikhundleni segama lomyalo. Kunamafomu amabili:

$ ( umyalo )

noma

` umyalo`

I-Bash yenza ukwandisa ngokusebenzisa umyalo futhi esikhundleni sokufaka esikhundleni somyalo ngokukhipha okujwayelekile komyalo, nanoma yiziphi izintandokazi ezintsha ezisusiwe. Amakholi amasha ashumekile asusiwe, kodwa angasuswa ngesikhathi sokuhlukaniswa kwegama. Umyalo wokufaka esikhundleni se-$ ( ifayela lesikhathi ) ungashintshwa yi- $ elinganayo kodwa esheshayo (< ifayela ).

Uma ifomu le-backquote yesitayela esidala lisetshenzisiwe, ukuhlehlisa kabusha kugcina incazelo yayo yangempela kuphela uma ilandelwa yi- $ , ` , noma \ . I-backquote yokuqala engakaze ilandelwe ukubuyela emuva iphelisa ukufaka esikhundleni somyalo. Uma usebenzisa ifomu le-$ ( umyalo ), zonke izinhlamvu phakathi kwama-parentheses zakha umyalo; akukho okuphathwa ngokukhethekile.

Ukufaka esikhundleni sokungena esikhundleni kungase kube nendlu. Ukuhlala esidlekeni uma usebenzisa ifomu elilandelwayo, phunyelela i-backquotes yangaphakathi nge-backslashes.

Uma ukufaka endaweni kubonakala ngaphakathi izingcaphuno eziphindwe kabili, ukwehlukaniswa kwegama kanye nokwandiswa kwegama kungenziwa kwimiphumela.

Ukwandiswa kwe-Arithmetic

Ukwandiswa kwe-Arithmetic kuvumela ukuhlolwa kwesibalo se-arithmetic nokufaka esikhundleni somphumela. Ifomethi yokwandiswa kwe-arithmetic yilezi:

$ (( inkulumo )

Leli gama liphathwa njengokungathi liphakathi kwamacaphuno amabili, kepha ukucaphuna kabili ngaphakathi kwabazali ababheki ngokukhethekile. Wonke amathokheni kule nkulumo ayenwe ukukhuliswa kwepharameter, ukunwetshwa kwezintambo, ukufaka esikhundleni somyalo, nokususwa kokucaphuna. Izikhundla ze-Arithmetic zingase zinyelwe.

Ukuhlolwa kwenziwa ngokwemithetho elandwe ngezansi ngaphansi kokuhlolwa kwe- ARITHMETIC . Uma inkulumo ingavumelekile, ibhashi ishintsha umlayezo obonisa ukuhluleka futhi akukho ukufaka endaweni.

Inqubo yokufaka esikhundleni

Inqubo yokufaka esikhundleni isekelwe kumahlelo asekela amapayipi agama ( FIFOs ) noma indlela / dev / fd yokubiza amafayela avulekile. Kuthatha uhlobo <( uhlu ) noma > ( uhlu ) . Uhlu lwenqubo lusebenza ngokufaka noma okukhiphayo okuxhunywe ku- FIFO noma kwenye ifayela ku / dev / fd . Igama lefayela lidluliselwa njengengxabano kumyalo wamanje njengomphumela wokwandiswa. Uma ifomu > ( uhlu ) lisetshenzisiwe, ukubhalela kufayili kuzonikeza okokufaka ohlwini . Uma ifomu <( uhlu ) lisetshenzisiwe, ifayela elidluliwe njengengxabano kufanele lifundwe ukuze lithole ukukhishwa kohlu .

Uma itholakale, inqubo yokufaka indawo isenziwa ngesikhathi esisodwa nge-parameter nokukhuliswa okuguquguqukayo, ukufaka esikhundleni somyalo, nokwandiswa kwe-arithmetic.

I-Word Splitting

Igobolondo ihlola imiphumela yokunwetshwa kwepharamitha, ukufaka esikhundleni somyalo, nokwandiswa kwe-arithmetic okwenzekanga ngaphakathi kwamacaphuno amabili okuhlukanisa amagama .

Igobolondo ithinta uhlamvu olulodwa lwe- IFS njengendlela yokuqeda, futhi ihlukanisa imiphumela yenye inhlawulo ibe ngamazwi kulezi zinhlamvu. Uma i- IFS ingasethiwe, noma inani layo liqondile , okuzenzakalelayo, ngakho-ke noma yikuphi ukulandelana kwezinhlamvu ze- IFS kusebenza ukudiliza amagama. Uma i- IFS inenani elilodwa ngaphandle kokuzenzakalelayo, ukulandelana kwezinhlamvu ze-whitespace isikhala kanye nethebhu kungabanjwanga ekuqaleni nasekupheleni kwegama, uma nje uhlamvu lomhlophe lubiza inani le- IFS (umlingiswa we- IFS we- whitespace). Noma yikuphi uhlamvu ku- IFS okungewona i- IFS whitespace, kanye nanoma yikuphi abalingiswa be- IFS abaseduze, ihlukanisa insimu. Ukulandelana kwezinhlamvu ze- IFS ze- whitespace nazo ziphathwa njenge-delimiter. Uma inani le- IFS lingekho, akukho ukuhlukaniswa kwegama okwenzekayo.

Iziphakamiso ezingacaci ezicacile ( "" noma "' ) zigcinwa. Iziphakamiso ezingenalutho ezingafundwa, ezingabangelwa ukwandiswa kwemingcele engenawo amanani, zisusiwe. Uma ipharamitha engenanzuzo yanda ngaphakathi kwamacaphuno aphindaphindiwe, imiphumela engavumelani imibono futhi igcinwa.

Qaphela ukuthi uma kungenwe ukwanda, akukho ukuhlukaniswa okwenziwe.

Ukwandiswa Kwendama

Ngemuva kokuhlukaniswa kwegama, ngaphandle kokuthi i-- f option isethwe, ibhahla ihlaziya igama ngalinye kubalingiswa * ,? , futhi [ . Uma omunye walaba abalingiswa evela, khona-ke igama libhekwa njengephethini, futhi lithathelwe uhlu oluhlanjululwe nge-alfabhethi lwamagama wefayela afana nephethini. Uma kungekho amagama afayili afanayo atholakala, futhi ukhetho lwe- shellglob elikhutshaziwe likhutshaziwe, igama lishiywe lingashintshi. Uma inketho ye- nullglob isethiwe, futhi kungatholakali ukufana, igama lisusiwe. Uma i- nocaseglob yokukhetha igobolondo inikwe amandla, umdlalo wenziwa ngaphandle kokubhekene nezinhlamvu zezinhlamvu ze-alphabetic. Uma iphethini isetshenziselwa ukunwetshwa kwegama lomzila, uhlamvu ``. '' Ekuqaleni kwegama noma ngokushesha ngemva kokushona kumele kufaniswe ngokucacile, ngaphandle kokuthi i- dotglob yokukhetha igobolondo isethiwe. Uma ufanisa igama lomzila, umlingisi we-slash kufanele ufanisane ngaso sonke isikhathi ngokucacile. Kwezinye izimo, uhlamvu `` `. '' Aluphathwe ngokukhethekile. Bona incazelo ephansi ngezansi ngaphansi kwe- SHELL BUILTIN COMMANDS ngencazelo ye- nocaseglob , nullglob , nezinketho zegobolondo ze- dotglob .

I- GLOBIGNORE variable yegobolondo ingasetshenziselwa ukuvimbela isethi yamagama wefayela afana nephethini . Uma i- GLOBIGNORE isethiwe, igama lefayela elifanayo elifanayo elifanayo nelinye lamaphetheni ku- GLOBIGNORE lisusiwe ohlwini lwemidlalo. Amagama wefayela ``. '' Futhi `` .. '' awanakiwe , ngisho nalapho GLOBIGNORE isethiwe. Noma kunjalo, ukubeka i- GLOBIGNORE kunomphumela wokuvumela inketho yegobolondo ye- dotglob , ngakho wonke amanye amagama efayela aqala ngokuthi ``. '' Azofanisana. Ukuze uthole ukuziphatha okudala kokungazinaki amagama wefayela kuqala kokuthi ``. '' , Yenza ``. * '' Elinye lamaphethini ku- GLOBIGNORE . Inketho ye- dotglob ivimbelwe uma i- GLOBIGNORE ingasethiwe.

Ukufanisa Iphethini

Noma yiliphi uhlamvu oluvela iphethini, ngaphandle kwebalingisi bephethini ekhethekile echazwe ngezansi, lifanisa ngokwayo. Isilwane se-NUL kungenzeka singenzeki iphethini. Abalingiswa bephethini ekhethekile kufanele bacashunwe uma kufanele bafaniswe ngokoqobo.

Izakhi zephethini ezikhethekile zinezincazelo ezilandelayo:

*

Ifanisa noma iyiphi insimbi, kufaka phakathi isicingo esingenalutho.

?

Ifanisa noma yiliphi uhlamvu olulodwa.

[...]

Ifanisa noma yiliphi lezinhlamvu ezifakiwe. I-pair of abalingiswa abahlukaniswe i-hyphen ibonisa inkulumo ehlukahlukene ; noma yikuphi uhlamvu olufana phakathi kwalabo abalingiswa ababili, okubandakanya, usebenzisa ukulandelana kwe-local yokulumbana nokulingiswa komlingiswa, kufanelana. Uma umlingisi wokuqala olandelayo [ kuwukuthi ! noma a ^ khona-ke noma yikuphi uhlamvu olungafakwanga olufanayo. Ukuhlelwa kwenhlamvu yabalingiswa ezinkulumweni ezikude kunqunywa indawo yamanje kanye nenani le- LC_COLLATE shell variable, uma isethwe. A - ingafaniswa ngokuyifaka njengobunjwa bokuqala noma bokugcina kusethi. I-A ] ingafaniswa ngokuyihlanganisa njengomlingisi wokuqala kusethi.

Ngaphakathi [ futhi ] , amakilasi womlingiswa angacaciswa usebenzisa i-syntax [: ikilasi :] , lapho iklasi lingenye yezigaba ezilandelayo ezichazwe kumgomo we-POSIX.2:

i-alnum alpha ascii ingenalutho cntrl idijithali graph ephansi ukuphrinta isikhala isikhala igama eliphakeme xdigit
Isigaba somlingiswa sichaza noma yiliphi uhlamvu olwalolu hlelo. Isigaba sohlamvu lwesigameko sifana nezinhlamvu, amadijithi, kanye nomlingiswa _.

Ngaphakathi [ futhi ] , isigaba esingalingana singacaciswa ngokusebenzisa i-syntax [= c =] , efana nazo zonke izinhlamvu ezinesisindo esifanayo (njengoba kuchazwe indawo yamanje) njengoba uhlamvu c .

Ngaphakathi [ futhi ] , i-syntax [. uphawu .] ifanisa uphawu lokufanekisa .

Uma inketho yegobolondo ye- extglob inikwe amandla usebenzisa i- builtin esheshayo , amaningana ama-operator afanelana nephethini enwetshiwe ayaziwa. Kulencazelo elandelayo, uhlu lwamaphethini luhlu lwamaphetheni owodwa noma ngaphezulu ahlukaniswe ngu- . Amaphethini amakhemikhali angakhiwa usebenzisa eyodwa noma ngaphezulu yalezi zindlela ezilandelayo:

? ( uhlu lwephethini )

Ufanisa zero noma okukodwa kwesinye amaphethini anikeziwe

* ( uhlu lwephethini )

Ihambisana nhlobo noma ngaphezulu kweziphethini ezinikeziwe

+ ( uhlu lwephethini )

Ifanisa ukuvela okukodwa noma ngaphezulu kwamaphethini anikeziwe

@ ( uhlu lwamaphethini )

Ihambisana ncamashi eyodwa yamaphethini anikeziwe

! ( uhlu lwephethini )

Ufanisa noma yini ngaphandle kwamaphetheni anikeziwe

Ukususwa kwe-quote

Ngemuva kokudlulela kwangaphambilini, zonke izenzakalo ezingavumelwanga zezinhlamvu \ , ' , futhi ' ezingazange ziphumelele kokunye okukhulunywe ngenhla zisusiwe.

REDIRECTION

Ngaphambi kokuba kwenziwe umyalo, okokufaka nokukhipha kwayo kungabuyekezwa usebenzisa isaziso esikhethekile esichazwa yigobolondo. Ukubuyisela kabusha kungasetshenziselwa ukuvula nokuvala amafayela okwakhiwa kwendawo yegobolondo yamanje. Ama-opharetha abaqondisa kabusha abalandelayo angaphambi noma avele noma yikuphi ngaphakathi komyalo olula noma angalandela umyalo . Ukulungiswa kabusha kusetshenzwa ngendlela evelayo, kusukela kwesobunxele kuya kwesokudla.

Kulezi zincazelo ezilandelayo, uma inombolo yezinombolo zefayela ingashiywanga, futhi umlingisi wokuqala we-opharetha wokuqondisa kabusha <<, ukubuyela kabusha kubhekisela ekufakeni okujwayelekile (isichazamazwi sefayela 0). Uma umlingisi wokuqala we-opharetha we-redirection>>, ukuhlelwa kabusha kusho ukukhishwa okujwayelekile (isichazamazwi sefayela 1).

Igama elilandela umqondisi wokuqondisa kabusha kulezi zincazelo ezilandelayo, ngaphandle uma kuboniswe ngenye indlela, kuncike ekuqiniseni ukunwetshwa, kufaka ukukhuliswa, ukwandiswa kwepharamitha, ukufaka esikhundleni somyalo, ukwandiswa kwe-arithmetic, ukususwa kokucaphuna, indlela yokwandiswa kwamagama, nokuhlukaniswa kwamagama. Uma ikhula kumazwi angaphezu kweyodwa, bashisa imibiko ngephutha.

Qaphela ukuthi ukuhleleka kokuqondisa kubalulekile. Isibonelo, umyalo

ls > dirlist 2 > & 1

iqondisa kokubili ukukhishwa okujwayelekile kanye nephutha elijwayelekile kwi-file dirlist , kuyilapho umyalo

ls 2 > & 1 > i- dirlist

iqondisa kuphela ukukhishwa okujwayelekile ukufaka i- dirlist , ngoba iphutha elijwayelekile liphindwe ngokuphindaphindiwe njengendlela ejwayelekile ngaphambi kokuba umkhiqizo ojwayelekile uphinde uqondiswe ku- dirlist .

I-Bash ilawula amafayela amaningana ngokukhethekile lapho asetshenziselwa ukuqondiswa kabusha, njengoba kuchaziwe kuthebula elilandelayo:

/ dev / fd / fd

Uma i- fd iyinamba evumelekile, i-file descriptor fd iphindwe kabili.

/ dev / stdin

Umchazi wefayela u-0 uphindwe.

/ dev / stdout

Isichazamazwi sefayela 1 siphindiwe.

/ dev / stderr

Isichazamazwi sefayela 2 siphindiwe.

/ dev / tcp / host / port

Uma umnikazi wegama lombhali noma ikheli le-Inthanethi elivumelekile, futhi i- port iyinombolo ye-intanethi eningi noma igama lesevisi, bashintsha ukuzama ukuvula uxhumano lwe-TCP kwisixhumi esifanayo.

/ dev / udp / host / port

Uma umnikazi wegama lomnikazi wesibambiso noma ikheli le-Intanethi, futhi i- port iyinombolo ye-inthanethi ye-intanethi noma igama lesevisi, bashintsha ukuzama ukuvula uxhumano lwe-UDP kwisixhumi esifanele.

Ukuhluleka ukuvula noma ukudala ifayela kubangela ukuhlelwa kabusha ukuhluleka.

Ukuqondisa kabusha ukufaka

Ukubuyiswa kokufakwayo kubangele ifayela eliba nemiphumela yombhalo kusuka ekunwetsheni kwegama okumele livule ukufundwa kwi-descriptor yefayela n , noma ukufaka okujwayelekile (isichazamazwi sefayili) uma n kungacacisiwe.

Ifomethi ejwayelekile yokuqondisa kabusha okufakwayo yile:

[ n ] < igama

Ukukhishwa okuqondisa kabusha

Ukulungiswa kokukhipha kubangele ifayela eliba nemiphumela yombhalo kusuka ekunwetshweni kwegama okuzovulelwa ukubhalwa kwi-descriptor yefayela n , noma ukukhishwa okujwayelekile (isichazamazwi sefayela 1) uma n kungacacisiwe. Uma ifayela alikho lidalwe; uma ikhona ilandelwe usayizi wezinga.

Ifomethi ejwayelekile yokuqondisa kabusha okukhiphayo:

[ n ] > igama

Uma i-redirection operator is >> , futhi inketho ye- noclobber ekusethiwe eyakhiwe inikwe amandla, ukulungiswa kabusha kuzokwehluleka uma ifayela elibangela igama elivela ekunwetsheni kwegama likhona ifayela ejwayelekile. Uma umqhubi we-redirection>> , noma u-opharetha we- redirection>> futhi inketho ye- noclobber kumyalo wokusetha owasethiwe awuvunyelwe , ukulungiswa kabusha kuzama ngisho noma ifayela elibizwa ngegama likhona.

Isebenzisa ukukhishwa okuqondiswe kabusha

Ukulungiswa kokukhipha kulo mkhuba kubangele ifayela elizophumela ekukhulisweni kwegama ukuze livule ukufaka amafayela kwi-descriptor yefayela n , noma ukukhishwa okujwayelekile (isichazamazwi sefayela 1) uma n kungacacisiwe. Uma ifayela alikho lidalwe.

Ifomethi evamile yokukhipha okukhiphayo:

[ n ] >> igama

Iqondisa kabusha ukukhishwa okujwayelekile nokuphutha okujwayelekile

I-Bash ivumela kokubili ukukhishwa okujwayelekile (isichazamazwi sefayela 1) kanye nokukhishwa kwephutha elijwayelekile (ifayela lesichazamazwi sesi-2) ukuze liqondiswe efayeleni ogama lakhe lingukukhuliswa kwezwi nalokhu kwakha.

Kunamafomu amabili wokuqondisa kabusha ukukhishwa okujwayelekile nesiphambeko esijwayelekile:

&> igama

futhi

> negama

Kulezi zindlela ezimbili, owokuqala ukhethwa. Lokhu kufana nokulingana

> igama 2 > & 1

Lapha Amadokhumenti

Lolu hlobo lokuqondisa kabusha luyala igobolondo ukuthi ifunde okokufaka kusuka kumthombo wamanje kuze kube khona umugqa oqukethe igama elilodwa kuphela (elingenayo izikhala ezilandelanayo). Yonke imigqa efundwa kuze kufike kulelo phuzu isetshenziselwa ukufaka okujwayelekile komyalo.

Isakhiwo sezincwadi-lapha:

<< [ - ] igama lapha-document delimiter

Ayikho ukukhuliswa kwepharamitha, umyalo wokufaka endaweni, ukwandiswa kwe-arithmetic, noma ukunwetshwa kwegama lomzila kwenziwa ngezwi . Uma ngabe kukhona abalingiswa egameni acashunwe, i- delimiter yimbangela yokususwa kokucaphuna ngegama , futhi imigqa ekubhalweni lapha ayinwetshiwe. Uma igama lingagciniwe, yonke imigqa yalokhu-idokhumenti ilandelwa ukukhuliswa kwepharamitha, ukufaka indawo esikhundleni, nokwandiswa kwezibalo. Esikhathini esilandelayo, ukulandelana komlingisi \ kunganakwa, futhi \ kumele isetshenziselwe ukucaphuna izinhlamvu \ , $ , ne `` .

Uma ngabe umqhubi we-redirection u -<< - , bonke abalingiswa bethebhu abaholayo basuswa emigqeni yokufaka kanye nomugqa oqukethe i- delimiter . Lokhu kuvumela lapha-amadokhumenti ngaphakathi kwempendulo yegobolondo ukuze ifakwe ngendlela engokwemvelo.

Nakhu ukuqiniswa

Imibhalo ekhona lapha, ifomethi yilezi:

<<< izwi

Igama liyanwetshwa futhi linikezwe umyalo ekufakweni kwayo okujwayelekile.

Ukuphinda kufakwe amafayela wezinkampani

Umqhubi we-redirection

[ n ] < negama

isetshenziselwa ukuphindaphinda izichazi zefayela lokufakwayo. Uma igama landa kwidijithi eyodwa noma ngaphezulu, isichazamazwi sefayela esichazwe ngu- n senziwe ikhophi yalezi zicelo zefayela. Uma amadijithali egameni angacacisi i-descriptor yefayela evuliwe ukufakelwa, kwenzeka iphutha lokuqondisa kabusha. Uma igama lihlola ku- - , isichazamazwi sefayela n sivaliwe. Uma n kungacacisiwe, ukufaka okujwayelekile (i-descriptor 0) isetshenziswa.

Opharetha

[ n ] > negama

isetshenziselwa ngokufanayo ukuphinda iziphindaphinda zefayela ezikhiphayo. Uma n ingacacisiwe, ukukhishwa okujwayelekile (isichazamazwi sefayela 1) sisetshenzisiwe. Uma amadijithali egameni angacacisi i-descriptor yefayela evuliwe ukukhipha, iphutha lokuhlelwa kabusha livela. Njengesixazululo esikhethekile, uma i ishiyiwe, futhi igama alikhulumi kudijithi eyodwa noma ngaphezulu, ukukhishwa okujwayelekile kanye nephutha elijwayelekile liqondiswa kabusha njengoba kuchazwe ngaphambilini.

Ukuhambisa amafayela wefayela

Umqhubi we-redirection

[ n ] < nedijithali -

ihambisa idijithi yokuchaza ifayela ukuze ifake i-descriptor n , noma ukufaka okujwayelekile (ifayela le-descriptor 0) uma n kungacacisiwe. Idijithali ivaliwe ngemuva kokuphindwa kabili ku- n .

Ngokufanayo, umqhubi we-redirection

[ n ] > & amadijithi -

ihambisa idijithi yokuchaza ifayela ukuze ifake i-descriptor n , noma ukukhishwa okujwayelekile (isichazamazwi sefayela 1) uma n kungacacisiwe.

Ukuvula Amafayela Wezincwadi Zokufunda Nokubhala

Umqhubi we-redirection

[ n ] <> igama

kubangela ifayela elibizwa ngokuthi igama lokukhuliswa kwezwi okumele livule kokubili ukufunda nokubhala kwi-descriptor yefayela n , noma kwi-descriptor yefayela 0 uma n kungacacisiwe. Uma ifayela alikho, lidalwe.

IZINDABA

Ukunciphisa amandla kuvumela ukuthi intambo ishintshwe igama uma isetshenziswe njengegama lokuqala lomyalo olula. Igobolondo igcina uhlu lwezinhlawulo ezingahle zibekwe futhi zingahambisani nemilayezo ye- alias kanye nemiyalo eyakhelwe ngaphakathi (bheka ama- SHELL BUILTIN COMMANDS ngezansi). Izwi lokuqala lomyalo ngamunye, uma lingavunyelwe, lihlolwe ukuze libone ukuthi linalo yini. Uma kunjalo, lelo gama lishintshwa yilokho okushiwo yi-alias. Igama le-alias kanye nombhalo wokufaka esikhundleni ungaqukatha noma yikuphi ukufaka kwegobolondo evumelekile, kufaka phakathi ama- metacharacters okubalwe ngenhla, ngaphandle kokuthi igama le-alias lingenalo = . Igama lokuqala lombhalo wokufaka esikhundleni lihlolwe ama-aliase, kepha igama elifana nokuqhathaniswa kwe-alias elandisiwe alikhuliswa okwesibili. Lokhu kusho ukuthi umuntu angahle afinyelele ku- ls -F , ngokwesibonelo, futhi bashishe azama ukukhulisa ngokuphindaphindiwe umbhalo wokufaka esikhundleni. Uma umlingisi wokugcina we-alias value kungenalutho , khona-ke igama elilandelayo lomyalo elilandela ukuhlaziywa liphinde lihlolwe ukukhulisa okunye.

Ama-aliases adalwe futhi adweliswe ngomyalo we- alias , futhi asuswe ngomyalo we- ulias .

Ayikho indlela yokusebenzisa izingxabano kumbhalo wokufaka esikhundleni. Uma kudingwa izingxabano, umsebenzi wegobolondo kufanele usetshenziswe (bheka IMISEBENZI engezansi).

Ukuphazamiseka akukhuliswa uma igobolondo ingasebenzi, ngaphandle kokuthi ukhetho lwe- shell_aliases lwe- shell lubekwe ngokusebenzisa okusheshayo (bheka incazelo ephansi ngaphansi kwe- SHELL BUILTIN COMMANDS ngezansi).

Imithetho ephathelene nencazelo kanye nokusetshenziswa kwezivumelwano ziyinto edidekile. I-Bash ifunda njalo okungenani eyodwa umugqa ophelele wokufaka ngaphambi kokwenza noma yimiphi imiyalo kulowo mgca. Ukunciphisa ukwandiswa uma umyalo ufundwa, hhayi lapho kukhishwa. Ngakho-ke, incazelo ye-alias ebonakala emgqeni ofanayo njengoba omunye umyalo ungasebenzi kuze kube khona umugqa olandelayo wokufaka. Imiyalo elandela incazelo ye-alias kulowo mkhakha ayithintekile yizici ezintsha. Lokhu kuziphatha kuyinkinga uma imisebenzi isenziwa. Ukungaxhunywanga kunwetshiwe uma incazelo yencazelo ifundwa, hhayi uma umsebenzi uqaliswa, ngoba incazelo yomsebenzi ngokwawo iyinkosi yomyalo. Ngenxa yalokho, ama-aliases echazwe emisebenzini ayitholakali kuze kube yilapho lo msebenzi ususelwa. Ukuze uphephe, vele ubeke izincazelo ezihlukile kumugqa ohlukile, futhi ungasebenzisi ama- alias kumilayezo yenkimbinkimbi.

Cishe zonke izinhloso, ama-aliase aphakanyiswa yimisebenzi yegobolondo.

IMISEBENZI

Umsebenzi wegobolondo, ochazwe njengoba uchaziwe ngenhla ngaphansi kwe- SHELL GRAMMAR , ugcina uchungechunge lwemilayezo yokukhishwa kamuva. Uma igama lomsebenzi wegobolondo lisetshenzisiwe njengegama lomyalo elula, uhlu lwemiyalo ehlotshaniswa nalolo gama lomsebenzi lwenziwa. Imisebenzi ikhiqizwa kumongo wegobolondo yamanje; akukho nqubo entsha eyadalwa ukuyihumusha (qhathanisa lokhu nokukwenziwa kweskripthi segobolondo). Uma umsebenzi ukwenziwa, izimpikiswano zomsebenzi ziba yimingcele yemibandela ngesikhathi senziwa. Ipharamitha ekhethekile # ibuyekeziwe ukuze ibonise ushintsho. Ipharamitha yeposi 0 ayinashintshi. I-variable ye- FUNCNAME isethelwe egameni lomsebenzi ngenkathi umsebenzi isebenza. Zonke ezinye izici zendawo yokukhipha igobolondo zifana nendawo phakathi komsebenzi nomfaki wayo ngaphandle kokuthi umculi we- DEBUG (bheka incazelo yesicupho esakhiwe ngaphansi kwe- SHELL BUILTIN COMMANDS ngezansi) ayizuzwa njengefa ngaphandle uma umsebenzi unikezwe umphumela wokulandelela ( bheka incazelo yezimemezelo ezakhiwe ngezansi).

Izinguquko zendawo yendawo emsebenzini zingabhalwa ngomyalo wokwakha wendawo . Ngokujwayelekile, iziguquko kanye namagugu abo abelwe phakathi komsebenzi kanye nomshayeli wayo.

Uma ukubuyiswa komyalo okwakhiwe kukhishwa emsebenzini, umsebenzi uqedela futhi uqalise uphinde uqale ngomyalo olandelayo ngemuva kokushaya ucingo. Uma umsebenzi usuqedile, amanani wemingcele ye-positional kanye nepharamitha ekhethekile # abuyiselwa kumanani ayenawo ngaphambi kokusebenza komsebenzi.

Amagama nezincazelo zomsebenzi zingabhalwa nge-- f inketho yokumemezela noma ukubeka imiyalo ye-builtin. I-- F inketho yokumemezela noma ukufaka ifonti izobhala uhlu lwamagama kuphela. Imisebenzi ingathunyelwa ukuze i-subshell ikwazi ukuyibeka ngokuzenzakalelayo nge-- f inketho yokuthunyelwa kwangaphandle.

Imisebenzi ingase ivuseleleke. Awukho umkhawulo obekwe ngenombolo yamakholi aphindaphindiwe.

UKUHLOLWA KWAMARITHMETIC

Igobolondo ivumela izinkulumo ze-arithmetic ukuba zihlolwe, ngaphansi kwezimo ezithile (bheka umyalo wokwakha we-builtin nokukhuliswa kwe- Arithmetic ). Ukuhlola kwenziwa ngezinombolo eziphelele eziphezulu ngaphandle kokuhlola ukuchichima, nakuba ukuhlukaniswa ngu-0 kubanjwe futhi kuhlatshwe umkhosi njengephutha. Ama-opharetha kanye nokuqala kwawo nokuhlanganisana kuyafana nolimi lwe-C. Uhlu olulandelayo lwama-opharetha luhlukaniswe ngamazinga abalingani abalinganayo. Amazinga ahlelwe ngokulandelana kokuncipha kokuqala.

id + id +

ukuguquguquka kokulandelana nokuthunyelwa kwe-post

++ id id

ukuguquguquka kwangaphambi kokuguquguquka noku-pre-decrement

- +

unary minus kanye plus

! ~

ukuhlukumezeka okunengqondo nokunamandla

**

i-exponentiation

* /%

ukubuyabuyelela, ukwahlukana, isisele

+ -

ukuhlanganisa, ukususa

<< >>

ukushiya kwesokunxele nokulungile

<=> = <>

ukufanisa

==! =

ukulingana nokungalingani

&

KUNYE futhi

^

i-bitwise okukhethekile OR

| |

kancane noma OR

&&

ISINGENISO futhi

||

enengqondo OR

i-expr ? expr : expr

ukuhlolwa okunemibandela

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

isabelo

expr1 , expr2

i-comma

Izinguquko zeShell zivunyelwe njengezinhlelo zokusebenza; Ukukhuliswa kwepharamitha kwenziwa ngaphambi kokuba inkulumo ihlolwe. Ngaphandle kwegama, ukuguquguquka kwegobolondo kungabuye kuboniswe ngamagama ngaphandle kokusebenzisa i-syntax ye-parameter yokwandisa. Inani lenani eliguquguqukayo lihlolwe njengendlela ye-arithmetic uma kuboniswe. Ukuguquguquka kwegobolondo akudingeki ukuthi kusetshenziswe isici sayo esikhulu sokusetshenziselwa inkulumo.

Amakhomitha ane-0 ehamba phambili ahunyushwa njengezinombolo ze-octal. I-0x ehamba phambili noma i-0X ibonisa i-hexadecimal. Uma kungenjalo, izinombolo zithatha ifomu [ isisekelo # ] n, lapho isisekelo senombolo yedesimali phakathi kuka-2 no-64 okumele isisekelo se-arithmetic, futhi n iyinombolo kuleso sisekelo. Uma isisekelo # sishiywe, ke isisekelo se-10 sisetshenzisiwe. Amadijithali amakhulu kunama-9 amelelwa izinhlamvu ezisezantsi, izinhlamvu ezinkulu, @, kanye _, ngaleyo ndlela. Uma isisekelo singaphansi noma silingana no-36, izinhlamvu ezisezingeni eliphansi nezinhlamvu zamagama angasetshenziswa ngokungahambisani ukuze zimelele izinombolo eziphakathi kuka-10 no-35.

Ama-operators ahlolwe ngokulandelana. Izingqikithi ezincane ezikhulunywe ngabazali zihlolwe kuqala futhi zingangaphezu kwemithetho engaphambili.

IMIBUZO YOKUPHAKATHI

Izinkulumo ezinemibandela zisetshenziselwa [[ umyalo wekhampasi kanye nokuhlolwa kanye [ nemiyalo eyakhelwe ukuhlola i-attributes yefayela kanye nokwenza uchungechunge kanye nokuqhathaniswa kwe-arithmetic. Amazwi akhiwa kusukela kuzinyathelo ezilandelayo ezingasese noma ezibanjwe kanambambili. Uma ngabe kukhona impikiswano yefayili kwenye yezinhlamvu zokuqala kuyifomu / dev / fd / n , isichazamazwi sefayela n sihloliwe . Uma ukuphikisana kwefayili kwesinye sezinhlelo zokuqala kungenye ye / dev / stdin , / dev / stdout , noma / dev / stderr , isichazamazwi sefayela 0, 1, noma 2, ngokulandelana, ihlolwe.

-afayela

Iqiniso uma ifayela likhona.

-b ifayela

Iqiniso uma ifayela likhona futhi liyifayela elikhethekile le-block.

-c ifayela

Iqiniso uma ifayela likhona futhi liyifayela elikhethekile lomlingisi.

-d ifayela

Iqiniso uma ifayela likhona futhi liyi-directory.

-ifayela

Iqiniso uma ifayela likhona.

-f ifayela

Iqiniso uma ifayela likhona futhi ifayela ejwayelekile.

-g ifayela

Iqiniso uma ifayela likhona futhi lihlelwe-iqembu-id.

-ifayela

Iqiniso uma ifayela likhona futhi liyisixhumanisi esingokomfanekiso.

-k ifayela

Iqiniso uma ifayela likhona futhi bit `` sticky '' bit isethwe.

-p ifayela

Iqiniso uma ifayela likhona futhi libheyili ebizwa ngokuthi i-FIFO.

-r ifayela

Iqiniso uma ifayela likhona futhi lifundeka.

-sfayela

Iqiniso uma ifayela likhona futhi linesayizi enkulu kunazo zonke.

-t fd

Iqiniso uma i- fd descriptor fd ivulekile futhi ibhekiselwa esibulalayo.

-ufayela

Iqiniso uma ifayela likhona futhi kancane isethi-yomsebenzisi-id idethi.

-w ifayela

Iqiniso uma ifayela likhona futhi liyabhalwa.

ifayela -x

Iqiniso uma ifayela likhona futhi lisebenza.

-Ofayela

Iqiniso uma ifayela likhona futhi linomsebenzisi osebenzayo we-id.

-G ifayela

Iqiniso uma ifayela likhona futhi linomnikazi weqembu eliphumelelayo.

-L ifayela

Iqiniso uma ifayela likhona futhi liyisixhumanisi esingokomfanekiso.

Ifayela le- S

Iqiniso uma ifayela likhona futhi liyisisekelo.

-Ifayela le- N

Iqiniso uma ifayela likhona futhi liguquliwe kusukela ligcine ukufundwa.

ifayela1 - ifayela2

Kuyiqiniso uma ifayela1 lisha (ngokusho kwedethi yokuguqulwa) kunefayela2 , noma uma ifayela1 likhona futhi ifayela2 alikho.

ifayela1 - ifayela2

Iqiniso uma ifayela1 lidala kunefayela2 , noma uma ifayela2 likhona futhi ifayela1 alikho.

ifayela1 -ef file2

Iqiniso uma ifayela1 nefayela2 libhekisela kudivayisi efanayo futhi inode izinamba.

-o igama lomsebenzisi

Iqiniso uma inketho yegobolondo i- optname inikwe amandla. Bheka uhlu lwezinketho ngaphansi kwencazelo ye--o inketho kusetjenziswa esakhiwe ngezansi.

-ik string

Kuyiqiniso uma ubude bezintambo kuluhlaza.

-uncingo

string

Kuyiqiniso uma ubude bezintambo akuzona zero.

string1 == string2

Iqiniso uma izintambo zilingana. = ingasetshenziswa esikhundleni se == ngokulandela okuqinile kwe-POSIX.

string1 ! = string2

Iqiniso uma izintambo zingalingani.

string1 < string2

Iqiniso uma i- string1 ihamba ngaphambi kwe- string2 lexicographically endaweni yangakini.

string1 > string2

Iqiniso uma i- string1 ihamba ngemva kwe- string2 lexicographically endaweni yangakini.

I-arg1 OP arg2

I-OP ingenye ye-- q , -ne , -in , -le , -gt , noma -ge . Lawa ma-opharetha bhanari ye-arithmetic abuyela eqinisweni uma i- arg1 ilingana, ingalingani, engaphansi kwe, noma ngaphansi noma elingana nayo, enkulu kunaleyo, noma enkulu noma elingana ne- arg2 , ngokulandelanayo. I-Arg1 ne- arg2 ingaba nezinombolo eziqondile noma ezimbi.

UKUSEBENZA KOMTHETHO OMSEBENZI

Uma umyalo olula ukwenziwa, igobolondo yenza okulandelayo, ukunikezwa, nokuqondiswa, kusukela kwesobunxele kuya kwesokudla.

1.Amazwi aphikisiwe abe yizibelo eziguquguqukayo (lezo ezandulela igama lomyalo) futhi ukulungiswa kugcinwa ukucubungula kamuva.

2.Amazwi angewona izabelo eziguquguqukayo noma ukulungiswa kunwetshwa. Uma kukhona amagama ahlala ngemva kokunwetshwa, igama lokuqala libizwa ngokuthi igama lomyalo futhi amagama asele yizimpikiswano.

3.Izivumelwano zenziwa njengoba kuchazwe ngenhla ngaphansi kwe- REDIRECTION .

4. Umbhalo ngemuva kokuthi = kwisabelo ngasinye sokuhlukahluka sibheke ukukhuliswa, ukukhuliswa kwepharamitha, ukufaka esikhundleni, ukukhuliswa kwe-arithmetic, nokususwa kokucaphuna ngaphambi kokunikezwa kokuguquguqukayo.

Uma kungabikho igama lomyalo eliphumela, izabelo eziguquguqukayo zithinta isimo samanje segobolondo. Uma kungenjalo, iziguquko zengezwe kwimvelo yomyalo owenziwe futhi aziphazamisi imvelo yegobolondo yamanje. Uma ngabe yiziphi izabelo ezizama ukwabela inani kuguquguquko lwe-readonly, kuvele iphutha, futhi umyalo uphuma ngesimo esingenaso.

Uma kungenayo imiphumela yegama lomyalo, ukulungiswa kuyenziwa, kodwa akuthinti isimo samanje segobolondo. Iphutha lokuqondisa kabusha lidala umyalo ukuba uphume ngesimo esingesizo.

Uma kukhona igama lomyalo elisele ngemuva kokunwetshwa, ukuqhubeka kokukhipha njengoba kuchazwe ngezansi. Ngaphandle kwalokho, umyalo uphuma. Uma enye yezinto ezihamba phambili iqukethe ukufaka esikhundleni somyalo, isimo sokuphuma somyalo yisimo sokuphuma sokufaka esikhundleni sokugcina esenziwe. Uma bekungenakho okufaka esikhundleni somyalo, umyalo uphuma ngesimo se-zero.

UKUQONDWA KWAMANDLA

Ngemuva kokuthi umyalo uhlukaniswe ngamazwi, uma kuholela emyalweni olula kanye nohlu lokuzikhethela lwezingxabano, lezi zenzo ezilandelayo zithathwe.

Uma igama lomyalo lingaqukathi lutho, igobolondo izama ukuyithola. Uma kukhona umsebenzi wegobolondo ngalelo gama, lowo msebenzi uyavunywa njengoba kuchazwe ngenhla ku- IMISEBENZI . Uma igama lingavumelani nomsebenzi, igobolondo iyayifaka ohlwini lwama-shell shell. Uma kutholakala umdlalo, lokho kwakhiwa kukhishwa.

Uma igama lingewona umsebenzi wegobolondo noma i-builtin, futhi iqukethe ama-slashes, bash isesha into ngayinye ye- PATH yerejista equkethe ifayela eliphathekayo lelo gama. I-Bash isebenzisa ithebula le-hash ukuze likhumbule amagama agcwele amafayela asebenzayo (bheka i- hash ngaphansi kwe- SHELL BUILTIN COMMANDS ngezansi). Ukucwaninga okugcwele kwezingqikithi ku- PATH kwenziwa kuphela uma umyalo ungatholakali kuthebula le-hash. Uma ukusesha kungaphumelelanga, igobolondo idonsa umyalezo wephutha futhi ibuyisela isimo sokuphuma esingu-127.

Uma ukusesha kuphumelele, noma uma igama lomyalo liqukethe ukukhipha okukodwa noma ngaphezulu, igobolondo yenza uhlelo oluthiwa endaweni ehlukile yokukhipha. Ukuphikisana 0 kusethwe egameni elinikeziwe, futhi izingxabano ezisele kumyalo zibekwe ezimpikweni ezinikeziwe, uma zikhona.

Uma lokhu kukhishwa kwehluleka ngoba ifayela alikho kwifomethi ephathekayo, futhi ifayela aliyona isiqondisi, kucatshangwa ukuba yiskripthi segobolondo , ifayela eliqukethe imiyalo yegobolondo. I-subshell ikhiqizwa ukuyikhipha. Le nsizakalo ibuye ivuselele ngokwakho, ukuze umphumela unjengokuthi igobolondo elisha liye lahlelwa ukuphatha iskripthi, ngaphandle kokuthi izindawo zomyalo ezikhunjulwa ngumzali (bheka i- hash ngezansi ngaphansi kwe- SHELL BUILTIN COMMANDS ) zigcinwa yingane.

Uma uhlelo luyifayela eliqala nge- #! , okusele komugqa wokuqala ucacisa umhumushi ohlelweni. Igobolondo yenza umhumushi ocacisiwe kumasistimu okusebenza angaphathi le fomethi ephathekayo ngokwayo. Izimpikiswano kumtoliki ziqukethe ingxabano eyodwa yokukhetha okulandelayo ngemuva kwegama elihunyushwe emgqeni wokuqala wohlelo, olulandelwe igama lohlelo, olulandelwa yimibono yomyalo, uma ikhona.

UKUHLELA UKUQALA UKUTHUTHUKISWA

Igobolondo inezindawo zokubulala , okuqukethe okulandelayo:

* amafayela avulekile azuzwe igobolondo ekuceliwe, njengoba kuguqulwa ngokuqondiswa okunikezwe ekwakheni okwakhiwe

* isiqondisi esisebenzayo samanje njengoba isethwe cd , pushd , noma popd , noma ifa igobolondo ekuceliwe

* i-mask imodi yokudala ifayela njengoba isethwe umask noma izuzwe kumzali wegobolondo

* izicupho zamanje ezibekwe ugibe

* izilinganiso zegobolondo ezibekwe yisabelo esivamile noma ngokubekwe noma okuzuzwa njengezizukulwane zomzali wegobolondo emvelweni

* igobolondo imisebenzi echazwe ngenkathi kwenziwa noma izuzwe umzali wegobolondo emvelweni

* izinketho ezinikezwe amandla ekunciphiseni (noma ngokuzenzakalelayo noma ngeziphakamiso zendandatho yomyalo) noma ngokusetha

* izinketho ezivunyelwe ngokusheshisa

* ama-aliases egobolondo ahlongozwa nge- alias

* Ama-ID enqubo ehlukahlukene, kufaka phakathi imisebenzi yasemuva, inani le- $$ , kanye ne- $ PPID

Uma umyalo olula ngaphandle komsebenzi owakhiwe noma wegobolondo kufanele ufezwe, uhlolwe endaweni ehlukile yokukhipha equkethe okulandelayo. Ngaphandle kokuthi kuboniswe ngenye indlela, amanani azuzwe njengefa kugobolondo.

* amafayela avulekile egobolondo, kanye nanoma yikuphi ukuguqulwa kanye nezengezo ezichazwe ngokuqondiswa komyalo

* isiqondisi esisebenzayo samanje

* imaski yokudala ifayela

* Izingxube zegobolondo ezibhalwe ukuthunyelwa ngaphandle, kanye neziguquguqulelisiwe ezithunyelwa ngaphandle komyalo, zidluliselwe emvelweni

* izicupho ezithathwe igobolondo zibuye zisetshenziswe kumagugu okuzuzwe njengefa kumzali wegobolondo, futhi izicupho ezinganakwa yigobolondo ziyanyatheliswa

Umyalo owenziwe kule ndawo ehlukile awukwazi ukuphazamisa imvelo ye-shell shell.

Ukumisa indawo kanye nemilayezo ye-asynchronous isetshenziselwa imvelo engaphansi kwesigcawu semvelo yegobolondo, ngaphandle kokuthi izicupho ezithathwe igobolondo zibuye zibuyele emigqumeni igobolondo elizuze yona kumzali wayo ekuceliwe. Imiyalo ye-Builtin ehloswe njengengxenye yombhobho iphinde ikhiphe kwimvelo engaphansi. Izinguquko ezenziwe kwendawo engaphansi kwe-subshell azikwazi ukuphazamisa imvelo ye-shell shell.

Uma umyalo ulandelwa u & & nokulawula umsebenzi awusebenzi, ukufaka okuzenzakalelayo okujwayelekile komyalo yifayela elingenalutho / dev / null . Uma kungenjalo, umyalo owakhiwe uzuza ifayela ezichaza ifayela legobolondo lokubiza njengoba kuguqulwe iziqondiso.