Zosintha zisanu ndi ziwiri za Bash zosayembekezereka

Kupitiriza mndandanda wa zolemba za kudziwika pang'ono ntchito bash, ndikuwonetsani mitundu isanu ndi iwiri yomwe mwina simungadziwe.

1) PROMPT_COMMAND

Mutha kudziwa kale momwe mungasinthire chenjezo kuti muwonetse zambiri zothandiza, koma si aliyense amene akudziwa kuti mutha kuyendetsa chipolopolo nthawi iliyonse ikawonetsedwa.

M'malo mwake, ambiri owongolera mwachangu amagwiritsira ntchito kusinthaku kuti apereke malamulo kuti asonkhanitse zidziwitso zomwe zikuwonetsedwa posachedwa.

Yesani kuyendetsa izi mu chipolopolo chatsopano ndikuwona zomwe zimachitika pagawoli:

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

2) HISTTIMEFORMAT

Ngati kuthamanga history mu console, mudzalandira mndandanda wa malamulo omwe adachitidwa kale pansi pa akaunti yanu.

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

Kusintha kumeneku kukakhazikitsidwa, zolemba zatsopano zimalemba nthawi pamodzi ndi lamulo, kotero zotsatira zake ziziwoneka motere:

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

Kupanga kumafanana ndi zilembo kuchokera man date.

3) CDPATH

Kuti musunge nthawi pamzere wolamula, mutha kugwiritsa ntchito kusinthaku kuti musinthe maulalo mosavuta mukamapereka malamulo.

Monga PATH, kusintha CDPATH ndi mndandanda wa njira zosiyanitsidwa ndi colon. Pamene muthamanga lamulo cd ndi njira yachibale (i.e. palibe slash wotsogola), mwachisawawa chipolopolo chimayang'ana mufoda yanu yakumaloko kuti afananize mayina. CDPATH idzafufuza m'njira zomwe mudapereka pa chikwatu chomwe mukufuna kupitako.

Ngati inu kwabasi CDPATH motere:

$ CDPATH=/:/lib

ndiyeno lowetsani:

$ cd /home
$ cd tmp

ndiye kuti nthawi zonse mudzakhalamo /tmp ziribe kanthu komwe inu muli.

Komabe, samalani, chifukwa ngati simunena za komweko pamndandanda (.) foda, ndiye kuti simungathe kupanga chikwatu china chilichonse tmp ndi kupita kwa izo monga mwachizolowezi:

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

Oops!

Izi zikufanana ndi chisokonezo chomwe ndidamva nditazindikira kuti chikwatu chakumaloko sichinaphatikizidwe mumitundu yodziwika bwino PATH...

Zanga zimakhazikitsidwa ndi poyambira:

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

4) SHLVL

Kodi munayamba mwadabwapo, kulemba exit ingakutulutseni mu chipolopolo chanu cha bash kupita ku chipolopolo china cha "makolo", kapena ingotseka zenera la console kwathunthu?

Zosinthazi zimasunga momwe muliri mu chipolopolo cha bash. Ngati mupanga terminal yatsopano, imayikidwa 1:

$ echo $SHLVL
1

Ndiye, ngati muyambitsa ndondomeko ina ya chipolopolo, chiwerengerocho chimawonjezeka:

$ bash
$ echo $SHLVL
2

Izi zitha kukhala zothandiza kwambiri m'malemba omwe simukutsimikiza kuti mutuluke kapena ayi, kapena kutsata komwe mwakhazikitsidwa.

5) LINENO

Kusinthaku kumathandizanso pakuwunika momwe zinthu zilili pano komanso kukonza zolakwika LINENO, yomwe imafotokoza kuchuluka kwa malamulo omwe aperekedwa mu gawoli mpaka pano:

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

Izi zimagwiritsidwa ntchito nthawi zambiri pokonza zolemba. Kuyika mizere ngati echo DEBUG:$LINENO, mutha kudziwa mwachangu komwe muli (kapena ayi).

6) REPLY

Ngati, monga ine, nthawi zambiri mumalemba khodi motere:

$ read input
echo do something with $input

Zingakhale zodabwitsa kuti simuyenera kudandaula za kupanga zosinthika konse:

$ read
echo do something with $REPLY

Izi zikuchita chinthu chomwecho.

7) TMOUT

Kupewa kukhala pa maseva opanga nthawi yayitali pazifukwa zachitetezo kapena kuyendetsa mwangozi china chake chowopsa pamalo olakwika, kuyika kusinthaku kumakhala ngati chitetezo.

Ngati palibe chomwe chalowetsedwa kwa masekondi angapo, chipolopolocho chimatuluka.

Ndiko kuti, iyi ndi njira ina sleep 1 && exit:

$ TMOUT=1

Source: www.habr.com

Kuwonjezera ndemanga