Tkompli s-sensiela ta’ noti dwar
1) PROMPT_COMMAND
Inti tista 'diġà tkun taf kif timmanipula l-pront biex turi informazzjoni utli varji, iżda mhux kulħadd jaf li inti tista' tmexxi kmand tal-qoxra kull darba li l-pront jintwera.
Fil-fatt, ħafna manipulaturi kumplessi fil-pront jużaw din il-varjabbli biex jesegwixxu kmandi biex jiġbru informazzjoni li tintwera fil-pront.
Ipprova mexxi dan f'qoxra ġdida u ara x'jiġri mis-sessjoni:
$ PROMPT_COMMAND='echo -n "writing the prompt at " && date'
2) HISTTIMEFORMAT
Jekk tmexxi history
fil-console, inti tirċievi lista ta 'kmandi esegwiti qabel taħt il-kont tiegħek.
$ HISTTIMEFORMAT='I ran this at: %d/%m/%y %T '
Ladarba din il-varjabbli tiġi ssettjata, entrati ġodda jirreġistraw il-ħin flimkien mal-kmand, għalhekk l-output se jidher bħal dan:
1871 Ħadejt dan fi: 01/05/19 13:38:07 qattus /etc/resolv.conf 1872 I dam dan fi: 01/05/19 13:38:19 curl bbc.co.uk 1873 Ħadejt dan fi: 01/05/19 13:38:41 sudo vi /etc/resolv.conf 1874 I dam dan fi: 01/05/19 13:39:18 curl -vvv bbc.co.uk 1876 għamilt dan fi: 01/05/19 13:39:25 sudo su -
L-ifformattjar jaqbel ma' karattri minn man date
.
3) CDPATH
Biex tiffranka l-ħin fuq il-linja tal-kmand, tista 'tuża din il-varjabbli biex tibdel id-direttorji faċilment daqs kemm toħroġ kmandi.
Bħal PATH
, varjabbli CDPATH
hija lista ta' mogħdijiet separati mill-kolon. Meta tmexxi l-kmand cd
b'passaġġ relattiv (jiġifieri l-ebda mmejla ewlenija), b'mod awtomatiku l-qoxra tidher fil-folder lokali tiegħek għal ismijiet li jaqblu. CDPATH
se tfittex fil-mogħdijiet li tajt għad-direttorju li trid tmur fih.
Jekk tinstalla CDPATH
b'dan il-mod:
$ CDPATH=/:/lib
u mbagħad daħħal:
$ cd /home
$ cd tmp
allura inti dejjem tispiċċa fi /tmp
irrispettivament minn fejn int.
Madankollu, oqgħod attent, għax jekk ma tispeċifikax dik lokali fil-lista (.
) folder, allura ma tkunx tista' toħloq xi folder ieħor tmp
u mur fiha bħas-soltu:
$ cd /home
$ mkdir tmp
$ cd tmp
$ pwd
/tmp
Oops!
Dan huwa simili għall-konfużjoni li ħassejt meta rrealizzajt li l-folder lokali ma kienx inkluż fil-varjabbli aktar familjari PATH
... imma trid tagħmel dan fil-varjabbli PATH tiegħek għax tista' tkun imqarraq biex tmexxi kmand falz minn xi kodiċi mniżżel.
Mine huwa stabbilit mill-punt tat-tluq:
CDPATH=.:/space:/etc:/var/lib:/usr/share:/opt
4) SHLVL
Qatt ħsibt, ittajpjar exit
se tieħdok mill-qoxra tal-bash attwali tiegħek għal qoxra "ġenitur" oħra, jew se tagħlaq it-tieqa tal-console kompletament?
Din il-varjabbli żżomm rekord ta' kemm int imbejjet fil-fond fil-qoxra tal-bash. Jekk toħloq terminal ġdid, huwa ssettjat għal 1:
$ echo $SHLVL
1
Imbagħad, jekk tibda proċess ieħor tal-qoxra, in-numru jiżdied:
$ bash
$ echo $SHLVL
2
Dan jista 'jkun utli ħafna fl-iskripts fejn m'intix ċert jekk toħroġx jew le, jew iżżomm kont ta' fejn tkun imbejjet.
5) LINENO
Il-varjabbli hija utli wkoll għall-analiżi tal-istat attwali u d-debugging LINENO
, li tirrapporta n-numru ta 'kmandi esegwiti fis-sessjoni s'issa:
$ bash
$ echo $LINENO
1
$ echo $LINENO
2
Dan huwa l-aktar spiss użat meta debugging skripts. Daħħal linji simili echo DEBUG:$LINENO
, tista' malajr tiddetermina fejn int fl-iskrittura (jew le).
6) REPLY
Jekk, bħali, normalment tikteb kodiċi bħal dan:
$ read input
echo do something with $input
Jista 'jkun sorpriża li m'għandekx għalfejn tinkwieta dwar il-ħolqien tal-varjabbli xejn:
$ read
echo do something with $REPLY
Dan jagħmel l-istess ħaġa.
7) TMOUT
Biex tevita li toqgħod fuq servers ta 'produzzjoni għal żmien twil wisq għal raġunijiet ta' sigurtà jew aċċidentalment taħdem xi ħaġa perikoluża fit-terminal ħażin, l-issettjar ta 'din il-varjabbli taġixxi bħala protezzjoni.
Jekk ma jiddaħħal xejn għal numru stabbilit ta' sekondi, il-qoxra toħroġ.
Jiġifieri, din hija alternattiva sleep 1 && exit
:
$ TMOUT=1
Sors: www.habr.com