Bash mgbanwe asaa na-atụghị anya ya

Na-aga n'ihu usoro ndetu banyere a ma ama ọrụ bash, aga m egosi gị mgbanwe asaa ị nwere ike ịmaghị maka ya.

1) PROMPT_COMMAND

Ị nwere ike ịmaworị ka esi emegharị ngwa ngwa iji gosi ozi dị iche iche bara uru, mana ọ bụghị onye ọ bụla maara na ị nwere ike ịme iwu shei oge ọ bụla egosiri ngwa ngwa.

N'ezie, ọtụtụ ndị na-emegharị ngwa ngwa dị mgbagwoju anya na-eji mgbanwe a na-eme iwu iji nakọta ozi egosiri na ngwa ngwa.

Gbalịa mee nke a na shei ọhụrụ wee hụ ihe na-eme nnọkọ ahụ:

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

2) HISTTIMEFORMAT

Ọ bụrụ na ị na-agba ọsọ history na njikwa, ị ga-enweta ndepụta iwu ndị e meburu n'okpuru akaụntụ gị.

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

Ozugbo agbanwere mgbanwe a, ndenye ọhụrụ na-edekọ oge yana iwu ahụ, ya mere mmepụta ga-adị ka nke a:

1871 M gbara nke a na: 01/05/19 13:38:07 cat /etc/resolv.conf 1872 M gbara nke a na: 01/05/19 13:38:19 curl bbc.co.uk 1873 M gbara nke a na : 01/05/19 13:38:41 sudo vi /etc/resolv.conf 1874 M gbara nke a na: 01/05/19 13:39:18 curl -vvv bbc.co.uk 1876 M gbara nke a na: 01 /05/19 13:39:25 sudo su -

Nhazi dakọtara mkpụrụedemede sitere na man date.

3) CDPATH

Iji chekwaa oge na ahịrị iwu, ị nwere ike iji mgbanwe a gbanwee akwụkwọ ndekọ aha ngwa ngwa ka ị na-enye iwu.

Dị ka PATH, mgbanwe CDPATH bụ ndepụta ụzọ nke nwere eriri afọ. Mgbe ị na-agba ọsọ iwu cd N'iji ụzọ ikwu (ya bụ, enweghị ụzọ slash), na ndabara, shei ahụ na-eleba anya na folda mpaghara gị maka aha dabara adaba. CDPATH ga-achọ n'okporo ụzọ ndị ị nyere maka ndekọ aha ịchọrọ ịga.

Ọ bụrụ na ị wụnye CDPATH n'ụzọ dị otú a:

$ CDPATH=/:/lib

wee banye:

$ cd /home
$ cd tmp

mgbe ahụ, ị ​​ga-ejedebe mgbe niile /tmp n'agbanyeghị ebe ị nọ.

Agbanyeghị, kpachara anya, n'ihi na ọ bụrụ na ị kọwapụtaghị mpaghara mpaghara na listi ahụ (.) nchekwa, mgbe ahụ ị gaghị enwe ike ịmepụta folda ọ bụla ọzọ tmp wee gaa na ya ka ọ na-adị:

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

Ee!

Nke a yiri mgbagwoju anya m nwere mgbe m ghọtara na nchekwa mpaghara adịghị etinye n'ime mgbanwe a maara nke ọma PATH... mana ị ga-eme ya na mgbanwe PATH gị n'ihi na enwere ike ịghọgbu gị iji mee iwu adịgboroja site na koodu ụfọdụ ebudatara.

Edobere nke m site na mmalite:

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

4) SHLVL

Ọ dịtụla mgbe ị na-eche, pịnye exit ọ ga-ewepụ gị na shei bash gị ugbu a gaa na shei "nne na nna" ọzọ, ka ọ ga-emechi windo njikwa kpamkpam?

Nke a na-agbanwe agbanwe na-edobe etu esi etinyere ebe ị nọ na shei bash. Ọ bụrụ na ị mepụta ọdụ ọhụrụ, atọrọ ya na 1:

$ echo $SHLVL
1

Mgbe ahụ, ọ bụrụ na ịmalite usoro shei ọzọ, ọnụọgụ na-abawanye:

$ bash
$ echo $SHLVL
2

Nke a nwere ike ịba uru nke ukwuu na scripts ebe ị na-ejighị n'aka ma ị ga-apụ ma ọ bụ na ị gaghị, ma ọ bụ na-edeba ebe ị nọ.

5) LINENO

Ngbanwe ahụ dịkwa uru maka nyochaa ọnọdụ dị ugbu a na nbipu LINENO, nke na-akọ ọnụ ọgụgụ nke iwu e mere na nnọkọ ahụ ruo ugbu a:

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

A na-ejikarị nke a eme ihe mgbe a na-emegharị scripts. Ịtinye ahịrị dị ka echo DEBUG:$LINENO, ị nwere ike ikpebi ngwa ngwa ebe ị nọ (ma ọ bụ na ọ bụghị).

6) REPLY

Ọ bụrụ, dị ka m, ị na-edekarị koodu dị ka nke a:

$ read input
echo do something with $input

Ọ nwere ike iju gị anya na ịkwesighi ichegbu onwe gị maka ịmepụta mgbanwe ahụ ma ọlị:

$ read
echo do something with $REPLY

Nke a na-eme otu ihe ahụ.

7) TMOUT

Iji zere ịnọrọ na sava mmepụta ogologo oge maka ihe nchekwa ma ọ bụ na-eme ihe dị ize ndụ na njedebe na-ezighi ezi, ịtọ mgbanwe a na-eme dị ka ihe nchebe.

Ọ bụrụ na etinyeghị ihe ọ bụla maka ọnụọgụ sekọnd, shei ahụ na-apụ.

Ya bụ, nke a bụ ihe ọzọ sleep 1 && exit:

$ TMOUT=1

isi: www.habr.com

Tinye a comment