Nerusake seri cathetan babagan
1) PROMPT_COMMAND
Sampeyan bisa uga wis ngerti carane ngapusi pituduh kanggo nuduhake macem-macem informasi migunani, nanging ora kabeh wong ngerti sing bisa mbukak printah shell saben wektu pituduh ditampilake.
Nyatane, akeh manipulator pituduh rumit nggunakake variabel iki kanggo nglakokake perintah kanggo ngumpulake informasi sing ditampilake ing pituduh.
Coba mbukak iki ing cangkang anyar lan ndeleng apa sing kedadeyan ing sesi kasebut:
$ PROMPT_COMMAND='echo -n "writing the prompt at " && date'
2) HISTTIMEFORMAT
Yen mlayu history
ing console, sampeyan bakal nampa dhaptar printah sadurunge kaleksanan ing akun.
$ HISTTIMEFORMAT='I ran this at: %d/%m/%y %T '
Sawise variabel iki disetel, entri anyar ngrekam wektu bebarengan karo printah, supaya output bakal katon kaya iki:
1871 Aku mlayu iki ing: 01/05/19 13:38:07 cat /etc/resolv.conf 1872 Aku mlayu iki ing: 01/05/19 13:38:19 curl bbc.co.uk 1873 Aku mlayu iki ing : 01/05/19 13:38:41 sudo vi /etc/resolv.conf 1874 Aku mlayu iki ing: 01/05/19 13:39:18 curl -vvv bbc.co.uk 1876 Aku mlayu iki ing: 01 /05/19 13:39:25 sudo su -
Formatting cocog karakter saka man date
.
3) CDPATH
Kanggo ngirit wektu ing baris printah, sampeyan bisa nggunakake variabel iki kanggo ngganti direktori kanthi gampang kaya sampeyan ngetokake printah.
Uga PATH
, variabel CDPATH
minangka dhaptar path sing dipisahake titik titik. Nalika sampeyan mbukak printah cd
kanthi path relatif (yaiku ora ana garis miring), kanthi standar cangkang katon ing folder lokal kanggo jeneng sing cocog. CDPATH
bakal nelusuri ing dalan sing diwenehake kanggo direktori sing pengin dituju.
Yen sampeyan nginstal CDPATH
ing cara iki:
$ CDPATH=/:/lib
banjur ketik:
$ cd /home
$ cd tmp
banjur sampeyan bakal tansah mungkasi ing /tmp
ora preduli ing ngendi sampeyan.
Nanging, ati-ati, amarga yen sampeyan ora nemtokake sing lokal ing dhaptar (.
), banjur sampeyan ora bisa nggawe folder liyane tmp
lan pindhah menyang kaya biasane:
$ cd /home
$ mkdir tmp
$ cd tmp
$ pwd
/tmp
Adhuh!
Iki padha karo kebingungan sing dakrasakake nalika ngerti yen folder lokal ora kalebu ing variabel sing luwih akrab PATH
... nanging sampeyan kudu nindakake ing variabel PATH amarga sampeyan bisa uga diapusi nganggo perintah palsu saka sawetara kode sing diundhuh.
Mine disetel dening titik wiwitan:
CDPATH=.:/space:/etc:/var/lib:/usr/share:/opt
4) SHLVL
Apa sampeyan tau mikir, ngetik exit
bakal nggawa sampeyan metu saka cangkang bash saiki menyang cangkang "tiyang sepah" liyane, utawa mung nutup jendhela console rampung?
Variabel iki nglacak sepira jerone sampeyan ana ing cangkang bash. Yen sampeyan nggawe terminal anyar, disetel dadi 1:
$ echo $SHLVL
1
Banjur, yen sampeyan miwiti proses cangkang liyane, jumlahe mundhak:
$ bash
$ echo $SHLVL
2
Iki bisa migunani banget ing skrip sing sampeyan ora yakin apa arep metu utawa ora, utawa nglacak ing ngendi sampeyan dipasang.
5) LINENO
Variabel uga migunani kanggo nganalisa kahanan saiki lan debugging LINENO
, sing nglaporake jumlah perintah sing ditindakake ing sesi kasebut nganti saiki:
$ bash
$ echo $LINENO
1
$ echo $LINENO
2
Iki paling asring digunakake nalika debugging skrip. Nglebokake garis kaya echo DEBUG:$LINENO
, sampeyan bisa kanthi cepet nemtokake ngendi ing script sampeyan (utawa ora).
6) REPLY
Yen, kaya aku, sampeyan biasane nulis kode kaya iki:
$ read input
echo do something with $input
Sampeyan bisa uga kaget yen sampeyan ora perlu kuwatir babagan nggawe variabel:
$ read
echo do something with $REPLY
Iki nindakake perkara sing padha.
7) TMOUT
Supaya tetep ing server produksi dawa banget kanggo alasan keamanan utawa sengaja mbukak soko mbebayani ing terminal salah, nyetel variabel iki tumindak minangka pangayoman.
Yen ora ana sing dilebokake sajrone sawetara detik, cangkang kasebut metu.
Sing, iki alternatif sleep 1 && exit
:
$ TMOUT=1
Source: www.habr.com