Mefuta e supileng e sa lebelloang ea Bash

Ho tsoela pele letoto la lintlha tse mabapi le ha nyane haholo mesebetsi bash, ke tla u bontša mefuta e supileng eo mohlomong ha u tsebe ka eona.

1) PROMPT_COMMAND

E ka 'na eaba u se u ntse u tseba ho fetola molaetsa ho bontša tlhahisoleseding e fapaneng ea bohlokoa, empa ha se bohle ba tsebang hore u ka tsamaisa taelo ea shell nako le nako ha molaetsa o bontšoa.

Ha e le hantle, li-manipulator tse ngata tse rarahaneng li sebelisa phetoho ena ho phethahatsa litaelo tsa ho bokella tlhahisoleseding e hlahang hang-hang.

Leka ho tsamaisa sena ka khetla e ncha 'me u bone se etsahalang ka seboka:

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

2) HISTTIMEFORMAT

Haeba matha history ka console, u tla fumana lethathamo la litaelo tse neng li etsoa pele tlas'a akhaonto ea hau.

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

Hang ha phapang ena e se e behiloe, lipehelo tse ncha li tlaleha nako hammoho le taelo, kahoo tlhahiso e tla shebahala tjena:

1871 Ke mathile sena ho: 01/05/19 13:38:07 cat /etc/resolv.conf 1872 Ke mathile sena ho: 01/05/19 13:38:19 curl bbc.co.uk 1873 Ke mathile sena ho : 01/05/19 13:38:41 sudo vi /etc/resolv.conf 1874 Ke mathile sena ho: 01/05/19 13:39:18 curl -vvv bbc.co.uk 1876 Ke mathile sena ho: 01 /05/19 13:39:25 sudo su -

Ho fometa ho tsamaisana le litlhaku ho tsoa ho man date.

3) CDPATH

Ho boloka nako moleng oa taelo, o ka sebelisa phetoho ena ho fetola li-directory habonolo ha o fana ka litaelo.

Joaloka PATH, feto-fetoha CDPATH ke lenane la litsela tse arohaneng le colon. Ha o tsamaisa taelo cd ka tsela e lekanyelitsoeng (ke hore ha ho na slash e etellang pele), ka ho sa feleng khetla e sheba foldareng ea lehae bakeng sa mabitso a tšoanang. CDPATH e tla batla litseleng tseo u faneng ka tsona bakeng sa bukana eo u batlang ho ea ho eona.

Haeba u kenya CDPATH ka tsela ena:

$ CDPATH=/:/lib

ebe o kena:

$ cd /home
$ cd tmp

joale u tla lula u fella ka /tmp ho sa tsotelehe moo o leng teng.

Leha ho le joalo, ela hloko, hobane haeba u sa hlalose ea lehae lethathamong (.) foldareng, joale u ke ke ua khona ho etsa foldara efe kapa efe tmp 'me u ee ho eona joalo ka tloaelo:

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

Oops!

Sena se tšoana le pherekano eo ke ileng ka e utloa ha ke hlokomela hore foldara ea lehae e ne e sa kenyeletsoa mofuteng o tloaelehileng haholoanyane PATH... empa o tlameha ho e etsa ka phapano ea PATH ea hau hobane o kanna oa thetsoa hore o tsamaise taelo e seng ea nnete ho tsoa ho khoutu e itseng e jarollotsoeng.

Ea ka e behiloe ke sebaka sa ho qala:

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

4) SHLVL

Na u kile ua ipotsa, ho thaepa exit na e tla u ntša ka har'a khetla ea hau ea hona joale ea bash ho khetla e 'ngoe ea "motsoali", kapa e tla koala fensetere ea console ka botlalo?

Phapang ena e boloka tlaleho ea hore na u tebile hakae ka har'a khetla ea bash. Haeba u theha terminal e ncha, e behiloe ho 1:

$ echo $SHLVL
1

Joale, haeba u qala ts'ebetso e 'ngoe ea khetla, palo ea eketseha:

$ bash
$ echo $SHLVL
2

Sena se ka ba molemo haholo lingolong moo u sa tsebeng hore na u tsoa kapa che, kapa u boloke tlaleho ea moo u lutseng teng.

5) LINENO

Phapang e boetse e na le thuso bakeng sa ho sekaseka boemo ba hajoale le ho lokisa liphoso LINENO, e tlalehang palo ea litaelo tse phethiloeng sebokeng ho fihlela joale:

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

Hangata sena se sebelisoa ha ho etsoa debugging scripts. Ho kenya mela joalo ka echo DEBUG:$LINENO, o ka tseba kapele hore na o hokae (kapa che).

6) REPLY

Haeba, joalo ka 'na, hangata u ngola khoutu tjena:

$ read input
echo do something with $input

Ho ka 'na ha makatsa hore ebe ha ho hlokahale hore u tšoenyehe ka ho theha phetoho ho hang:

$ read
echo do something with $REPLY

Sena se etsa ntho yona eo.

7) TMOUT

Ho qoba ho lula ho li-server tsa tlhahiso nako e telele haholo ka mabaka a ts'ireletso kapa ka phoso ho tsamaisa ntho e kotsi sebakeng se fosahetseng, ho beha phetoho ena e sebetsa e le tšireletso.

Haeba ho se letho le kentsoeng bakeng sa palo e behiloeng ea metsotsoana, khetla ea tsoa.

Ke hore, ena ke mokhoa o mong sleep 1 && exit:

$ TMOUT=1

Source: www.habr.com

Eketsa ka tlhaloso