Zvinomwe zvisingatarisirwi zveBash zvakasiyana

Kuenderera mberi nenhevedzano yezvinyorwa pamusoro zvishoma zvinozivikanwa mabasa bash, ini ndichakuratidza zvinomwe zvakasiyana zvaungasaziva nezvazvo.

1) PROMPT_COMMAND

Iwe unogona kunge uchitoziva mashandisirwo ekukurumidza kuratidza akasiyana anobatsira ruzivo, asi haasi munhu wese anoziva kuti unogona kumhanyisa murairo wegomba pese paunoratidzwa.

Muchokwadi, akawanda akaomarara ekukurumidza manipulators anoshandisa iyi shanduko kuita mirairo kuunganidza ruzivo rwunoratidzwa mukukasira.

Edza kumhanyisa izvi mugoko idzva uye ona zvinoitika kuchikamu:

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

2) HISTTIMEFORMAT

Kana iwe uchimhanya history mune console, iwe uchagamuchira runyoro rwemirairo yakamboitwa pasi peakaundi yako.

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

Kana shanduko iyi yaiswa, zvinyorwa zvitsva zvinorekodha nguva pamwe chete nemurairo, saka zvinobuda zvinotaridzika seizvi:

1871 ndakamhanya izvi pa: 01/05/19 13:38:07 cat /etc/resolv.conf
1872 ndakamhanya izvi pa: 01/05/19 13:38:19 curl bbc.co.uk
1873 Ndakamhanya izvi pa: 01/05/19 13:38:41 sudo vi /etc/resolv.conf
1874 Ndakamhanya izvi pa: 01/05/19 13:39:18 curl -vvv bbc.co.uk
1876 ​​Ndakamhanya izvi pa: 01/05/19 13:39:25 sudo su -

Mafomati anofanana nemabhii kubva man date.

3) CDPATH

Kuti uchengetedze nguva pamutsetse wekuraira, unogona kushandisa shanduko iyi kushandura madhairekitori nyore sezvaunopa mirairo.

Uyewo PATH, chinja CDPATH rondedzero yenzira dzakapatsanurwa nekoloni. Paunomhanya murairo cd iine nzira yehukama (kureva kuti hapana inotungamira slash), nekusarudzika goko rinotarisa mufodhi yako yenzvimbo yekufananidza mazita. CDPATH ichatsvaga mumakwara awakapa dhairekitori raunoda kuenda kwariri.

Kana iwe ukaisa CDPATH nenzira iyi:

$ CDPATH=/:/lib

wobva wapinda:

$ cd /home
$ cd tmp

ipapo iwe unogara uchiguma /tmp zvisinei kuti uripi.

Nekudaro, chenjera, nekuti kana ukasatsanangudza yemuno mune iyo rondedzero (.) folda, saka haugone kugadzira chero imwe folda tmp uye enda kwairi semazuva ese.

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

Maiwe!

Izvi zvakafanana nekuvhiringika kwandakanzwa pandakaona kuti folda yenzvimbo haina kuverengerwa mune yakajairika musiyano PATH... asi iwe unofanirwa kuzviita mune yako PATH shanduko nekuti unogona kunyengerwa kuita manyepo ekuraira kubva kune imwe kodhi yakatorwa.

Yangu inotaridzwa nenzvimbo yekutanga:

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

4) SHLVL

Wakambozvibvunza here, kutaipa exit ichakubvisa kubva mubash shell yako kuenda kune imwe "mubereki" goko, kana kuti ichangovhara iyo console hwindo zvachose?

Iyi shanduko inochengetedza kuti wakadzika zvakadii mubash shell. Kana iwe ukagadzira terminal nyowani, yakaiswa ku1:

$ echo $SHLVL
1

Zvino, kana iwe ukatanga imwe nzira yeganda, iyo nhamba inowedzera:

$ bash
$ echo $SHLVL
2

Izvi zvinogona kubatsira zvakanyanya muzvinyorwa zvausingazive kuti wobuda here kana kuti kwete, kana kuti chengetedza paunogara.

5) LINENO

Iyo shanduko inobatsira zvakare pakuongorora mamiriro azvino uye kugadzirisa LINENO, iyo inoshuma nhamba yemirairo yakaitwa muchikamu kusvika zvino:

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

Izvi zvinonyanya kushandiswa pakugadzirisa zvinyorwa. Kupinza mitsetse se echo DEBUG:$LINENO, unogona kukurumidza kuona kuti uri papi mune script (kana kwete).

6) REPLY

Kana, seni, iwe unowanzo kunyora kodhi seizvi:

$ read input
echo do something with $input

Zvinogona kuuya sechishamiso kuti haufanire kunetseka nezve kugadzira iyo vhezheni zvachose:

$ read
echo do something with $REPLY

Izvi zvinoita zvimwe chete.

7) TMOUT

Kuti udzivise kugara pamasevha ekugadzira akareba nekuda kwezvikonzero zvekuchengetedza kana netsaona kumhanyisa chimwe chinhu chine njodzi mune isiriyo terminal, kuseta iyi shanduko inoita sedziviriro.

Kana pasina chakaiswa kwenhamba yakatarwa yemasekonzi, goko rinobuda.

Kureva kuti iyi ndiyo imwe nzira sleep 1 && exit:

$ TMOUT=1

Source: www.habr.com

Voeg