Áframhaldandi röð athugasemda um
1) PROMPT_COMMAND
Þú gætir nú þegar vitað hvernig á að hagræða hvetjunni til að sýna ýmsar gagnlegar upplýsingar, en ekki allir vita að þú getur keyrt skeljaskipun í hvert skipti sem hvetja er sýnd.
Reyndar nota margir flóknir hvetjandi stjórnendur þessa breytu til að framkvæma skipanir til að safna upplýsingum sem birtast í hvetjunni.
Prófaðu að keyra þetta í nýrri skel og sjáðu hvað verður um lotuna:
$ PROMPT_COMMAND='echo -n "writing the prompt at " && date'
2) HISTTIMEFORMAT
Ef þú hleypur history
í stjórnborðinu færðu lista yfir skipanir sem áður voru framkvæmdar undir reikningnum þínum.
$ HISTTIMEFORMAT='I ran this at: %d/%m/%y %T '
Þegar þessi breyta hefur verið stillt skrá nýjar færslur tímann ásamt skipuninni, þannig að úttakið mun líta svona út:
1871 Ég keyrði þetta á: 01/05/19 13:38:07 cat /etc/resolv.conf 1872 Ég keyrði þetta á: 01/05/19 13:38:19 curl bbc.co.uk 1873 Ég keyrði þetta á : 01/05/19 13:38:41 sudo vi /etc/resolv.conf 1874 Ég keyrði þetta á: 01/05/19 13:39:18 curl -vvv bbc.co.uk 1876 Ég hljóp þetta á: 01 /05/19 13:39:25 sudo su -
Snið samsvarar stöfum frá man date
.
3) CDPATH
Til að spara tíma á skipanalínunni geturðu notað þessa breytu til að breyta möppum eins auðveldlega og þú gefur út skipanir.
Eins PATH
, breytilegt CDPATH
er listi yfir slóðir aðskilinn með ristli. Þegar þú keyrir skipunina cd
með hlutfallslegri slóð (þ.e. engin skástrik), sjálfgefið leitar skelin í möppunni þinni fyrir samsvarandi nöfn. CDPATH
mun leita á slóðunum sem þú gafst upp að möppunni sem þú vilt fara í.
Ef þú setur upp CDPATH
á þennan hátt:
$ CDPATH=/:/lib
og sláðu svo inn:
$ cd /home
$ cd tmp
þá lendirðu alltaf í /tmp
sama hvar þú ert.
Vertu samt varkár, því ef þú tilgreinir ekki þann staðbundna á listanum (.
) möppu, þá muntu ekki geta búið til neina aðra möppu tmp
og farðu í það eins og venjulega:
$ cd /home
$ mkdir tmp
$ cd tmp
$ pwd
/tmp
Úps!
Þetta er svipað og ruglið sem ég fann fyrir þegar ég áttaði mig á því að staðbundin mappa var ekki innifalin í kunnuglegri breytunni PATH
... en þú verður að gera það í PATH breytunni þinni vegna þess að þú gætir verið blekktur til að keyra falsa skipun úr einhverjum niðurhaluðum kóða.
Mitt er stillt af upphafspunktinum:
CDPATH=.:/space:/etc:/var/lib:/usr/share:/opt
4) SHLVL
Hefur þú einhvern tíma velt því fyrir þér, að skrifa exit
mun það taka þig út úr núverandi bash skelinni þinni í aðra "foreldra" skel, eða mun það bara loka stjórnborðsglugganum alveg?
Þessi breyta heldur utan um hversu djúpt hreiður þú ert í bash skelinni. Ef þú býrð til nýja flugstöð er hún stillt á 1:
$ echo $SHLVL
1
Síðan, ef þú byrjar annað skel ferli, hækkar talan:
$ bash
$ echo $SHLVL
2
Þetta getur verið mjög gagnlegt í forskriftum þar sem þú ert ekki viss um hvort þú eigir að hætta eða ekki, eða heldur utan um hvar þú ert hreiður.
5) LINENO
Breytan er einnig gagnleg til að greina núverandi ástand og villuleit LINENO
, sem greinir frá fjölda skipana sem hafa verið framkvæmdar í lotunni hingað til:
$ bash
$ echo $LINENO
1
$ echo $LINENO
2
Þetta er oftast notað þegar kembiforrit eru kembiforrit. Að setja inn línur eins og echo DEBUG:$LINENO
, þú getur fljótt ákvarðað hvar í handritinu þú ert (eða ekki).
6) REPLY
Ef þú skrifar venjulega kóða eins og ég, svona:
$ read input
echo do something with $input
Það gæti komið á óvart að þú þurfir alls ekki að hafa áhyggjur af því að búa til breytuna:
$ read
echo do something with $REPLY
Þetta gerir það sama.
7) TMOUT
Til að forðast að vera of lengi á framleiðsluþjónum af öryggisástæðum eða keyra óvart eitthvað hættulegt í röngum flugstöð, virkar þessi breyta sem vernd.
Ef ekkert er slegið inn í ákveðinn fjölda sekúndna fer skelin út.
Það er, þetta er val sleep 1 && exit
:
$ TMOUT=1
Heimild: www.habr.com