Iinguqu ezisixhenxe ezingalindelekanga zeBash

Ukuqhubela phambili uthotho lwamanqaku malunga eyaziwa kancinci imisebenzi bash, ndiza kukubonisa izinto ezisixhenxe onokuthi ungazi ngazo.

1) PROMPT_COMMAND

Usenokuba sele uyayazi indlela yokwenziwa koncedo ukubonisa ulwazi olwahlukeneyo oluluncedo, kodwa ayinguye wonke umntu owaziyo ukuba ungaqhuba umyalelo weqokobhe lonke ixesha umboniso uboniswa.

Ngapha koko, uninzi lwabenzi bobuchule be-prompt manipulators basebenzisa oku kuguquguquka ukwenza imiyalelo ukuqokelela ulwazi oluboniswe kwi-prompt.

Zama ukwenza oku kwiqokobhe elitsha kwaye ubone ukuba kwenzeka ntoni kwiseshoni:

$ PROMPT_COMMAND='echo -n "writing the prompt at " && date'

2) HISTTIMEFORMAT

Ukuba uyabaleka history kwi-console, uya kufumana uluhlu lwemiyalelo eyenziwe ngaphambili phantsi kweakhawunti yakho.

$ HISTTIMEFORMAT='I ran this at: %d/%m/%y %T '

Nje ukuba olu tshintsho lusetiwe, amangeno amatsha arekhoda ixesha kunye nomyalelo, ke imveliso iya kujongeka ngolu hlobo:

1871 Ndibaleke le ngo: 01/05/19 13:38:07 cat /etc/resolv.conf 1872 Ndibaleke le ngo: 01/05/19 13:38:19 curl bbc.co.uk 1873 Ndibaleke le ngo. : 01/05/19 13:38:41 sudo vi /etc/resolv.conf 1874 Ndibaleke le ngo: 01/05/19 13:39:18 curl -vvv bbc.co.uk 1876 ndibaleke le ngo: 01 /05/19 13:39:25 sudo su -

Ukufomatha kuhambelana namagama asuka man date.

3) CDPATH

Ukugcina ixesha kumgca womyalelo, ungasebenzisa oku kuguquguqukayo ukutshintsha abalawuli ngokulula njengoko ukhupha imiyalelo.

Kanye kunye PATH, iyaguquguquka CDPATH luludwe lweendlela ezahlulwe ngekholoni. Xa uqhuba umyalelo cd ngomendo ozalanayo (i.e. akukho silayiti esikhokelayo), ngokungagqibekanga iqokobhe lijonge kulawulo lwakho lobulali ukulungiselela amagama athelekisekayo. CDPATH izakukhangela kwiindlela ozinike uvimba weefayili ofuna ukuya kuwo.

Ukuba uyafaka CDPATH ngale ndlela:

$ CDPATH=/:/lib

kwaye emva koko ngenisa:

$ cd /home
$ cd tmp

ke uya kuhlala uphelele /tmp nokuba uphi na.

Nangona kunjalo, lumka, kuba ukuba awuyikhankanyi eyendawo kuluhlu (.) incwadi eneenkcukacha, ngoko awuzukwazi ukwenza naluphi na olunye ulawulo tmp kwaye uye kuyo njengesiqhelo:

$ cd /home
$ mkdir tmp
$ cd tmp
$ pwd
/tmp

Yhu!

Oku kufana nokubhideka endiye ndakuva xa ndafumanisa ukuba incwadi yolawulo yasekuhlaleni ayiqukwanga kuguquguquko oluqhelekileyo PATH... kodwa kufuneka uyenzile kuMENDO wakho oguquguqukayo kuba unokuqhathwa ukuba usebenzise umyalelo ongeyonyani osuka kwikhowudi ethile ekhutshelweyo.

Eyam imiselwe yindawo yokuqala:

CDPATH=.:/space:/etc:/var/lib:/usr/share:/opt

4) SHLVL

Ngaba wakha wazibuza, ukuchwetheza exit izakukhupha kwiqokobhe lakho langoku le-bash ukuya kwelinye "umzali" iqokobhe, okanye liza kuvala ifestile yeconsole ngokupheleleyo?

Oku kuguquguquka kugcina umkhondo wokuba unzulu kangakanani kwindlwane yakho kwiqokobhe le-bash. Ukuba wenza i-terminal entsha, imiselwe ku-1:

$ echo $SHLVL
1

Ke, ukuba uqala enye inkqubo yeqokobhe, inani liyenyuka:

$ bash
$ echo $SHLVL
2

Oku kunokuba luncedo kakhulu kwizikripthi apho ungaqinisekanga nokuba uphume okanye hayi, okanye gcina umkhondo walapho ubekwe khona.

5) LINENO

Utshintsho lukwaluncedo ekuhlalutyeni imeko yangoku kunye nolungiso lweempazamo LINENO, enika ingxelo ngenani lemiyalelo ephunyeziweyo kwiseshoni ukuza kuthi ga ngoku:

$ bash
$ echo $LINENO
1
$ echo $LINENO
2

Oku kusetyenziswa rhoqo xa kulungiswa i-scripts. Ukufaka imigca efana echo DEBUG:$LINENO, unokukhawuleza ubone ukuba uphi kwiskripthi (okanye hayi).

6) REPLY

Ukuba, njengam, uhlala ubhala ikhowudi ngolu hlobo:

$ read input
echo do something with $input

Isenokumangalisa ukuba awudingi kuba nexhala malunga nokudala okuguquguqukayo konke konke:

$ read
echo do something with $REPLY

Oku kwenza into enye.

7) TMOUT

Ukunqanda ukuhlala kwiiseva zemveliso ixesha elide ngenxa yezizathu zokhuseleko okanye ukuqhuba ngempazamo into enobungozi kwitheminali engalunganga, ukuseta oku kuguquguquka kusebenza njengokhuselo.

Ukuba akukho nto ifakiweyo kwinani elimiselweyo lemizuzwana, iqokobhe liyaphuma.

Oko kukuthi, le yenye indlela sleep 1 && exit:

$ TMOUT=1

umthombo: www.habr.com

Yongeza izimvo