E whitu nga taurangi Bash ohorere

Kei te haere tonu te raupapa o nga korero mo iti ake te mohiotia mahi bash, ka whakaatu ahau ki a koe e whitu nga taurangi kaore pea koe e mohio.

1) PROMPT_COMMAND

Kei te mohio kee koe ki te raweke i te tere ki te whakaatu i nga momo korero whaihua, engari kaore nga tangata katoa e mohio ka taea e koe te whakahaere whakahau anga i nga wa katoa ka whakaatuhia te tohutoro.

Inaa, he maha nga kaikawe tere uaua e whakamahi ana i tenei taurangi ki te whakahaere i nga whakahau ki te kohi korero ka whakaatuhia i roto i te tere.

Whakamātauria te whakahaere i tēnei ki tētahi anga hōu ka kite ka ahatia te wātū:

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

2) HISTTIMEFORMAT

Ki te rere history i roto i te papatohu, ka whiwhi koe i te rarangi o nga whakahau i mahia i mua i raro i to putea.

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

Ina whakaritea tenei taurangi, ka tuhia e nga urunga hou te wa me te whakahau, na ka penei te ahua o te putanga:

1871 I oma ahau i tenei i: 01/05/19 13:38:07 cat /etc/resolv.conf 1872 I oma ahau i tenei i: 01/05/19 13:38:19 curl bbc.co.uk 1873 I oma ahau i tenei i: : 01/05/19 13:38:41 sudo vi /etc/resolv.conf 1874 I rere ahau i tenei i: 01/05/19 13:39:18 curl -vvv bbc.co.uk 1876 I rere ahau i tenei: 01 /05/19 13:39:25 sudo su -

Whakahōputu ōrite pūāhua i man date.

3) CDPATH

Hei whakaora i te wa i runga i te raina whakahau, ka taea e koe te whakamahi i tenei taurangi ki te whakarereke i nga whaiaronga kia rite ki te tuku whakahau.

Waihoki PATH, taurangi CDPATH he rarangi ara kua wehea te kopirua. Ina whakahaere koe i te whakahau cd me te ara whanaunga (arā, karekau he rītaha matua), ma te taunoa ka titiro te anga ki roto i to kōpaki paetata mō ngā ingoa ōrite. CDPATH ka rapu i nga huarahi i hoatu e koe mo te whaiaronga e hiahia ana koe ki te haere.

Mena ka whakauru koe CDPATH i roto i tenei ara:

$ CDPATH=/:/lib

katahi ka tomo:

$ cd /home
$ cd tmp

katahi ka mutu tonu koe ki roto /tmp ahakoa kei hea koe.

Engari, kia tupato, na te mea karekau koe e tohu i te rohe kei roto i te rarangi (.) kōpaki, ka kore e taea e koe te hanga i tetahi atu kōpaki tmp ka haere ki reira kia rite ki o mua:

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

Aue!

He rite tenei ki te rangirua i rongo ahau i taku mohiotanga kaore te kōpaki o te rohe i whakauruhia ki roto i te taurangi taunga ake PATH... engari me mahi koe i roto i to taurangi PATH na te mea kei te tinihanga koe ki te whakahaere i tetahi whakahau rūpahu mai i etahi waehere kua tangohia.

Ko taku kua whakaritea e te timatanga:

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

4) SHLVL

Kua whakaaro koe, pato exit ka tangohia koe mai i to anga bash o naianei ki tetahi atu anga "matua", ka kati noa ranei te matapihi papatohu?

Ko tenei taurangi ka pupuri i te hohonutanga o to kohanga i roto i te anga bash. Mena ka hanga e koe he tauranga hou, kua tautuhia ki te 1:

$ echo $SHLVL
1

Na, ki te timata koe i tetahi atu tukanga anga, ka piki ake te nama:

$ bash
$ echo $SHLVL
2

Ka tino whai hua tenei i roto i nga tuhinga kaore koe e tino mohio ka puta koe, kaore ranei, ka whai waahi ranei koe ki hea koe e kohanga ana.

5) LINENO

He pai hoki te taurangi mo te tātari i te ahua o naianei me te patuiro LINENO, e whakaatu ana i te maha o nga whakahau i mahia i roto i te wahanga i tenei wa:

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

Ka whakamahia tenei i te wa e patuiro ana i nga tuhinga. Te whakauru raina penei echo DEBUG:$LINENO, ka taea e koe te whakatau tere kei hea koe i roto i te tuhinga (kaore ranei).

6) REPLY

Mena, penei i ahau, ka tuhi koe i nga waehere penei:

$ read input
echo do something with $input

Ka miharo pea kaore koe e manukanuka ki te hanga i te taurangi:

$ read
echo do something with $REPLY

He rite ano tenei mahi.

7) TMOUT

Hei karo i te noho roa ki runga i nga kaiwhakarato whakangao mo nga take haumarutanga, ki te whakahaere pokanoa ranei i tetahi mea kino ki te tauranga he, ka waiho tenei taurangi hei whakamarumaru.

Mena kaore he mea i whakauruhia mo te maha o nga hēkona, ka puta te anga.

Arā, he rereke tenei sleep 1 && exit:

$ TMOUT=1

Source: will.com

Tāpiri i te kōrero