тухай цуврал тэмдэглэлээ үргэлжлүүлж байна
1) PROMPT_COMMAND
Төрөл бүрийн хэрэгцээтэй мэдээллийг харуулахын тулд сануулгыг хэрхэн удирдахыг та аль хэдийн мэддэг байж болох ч, сануулга гарч ирэх бүрт бүрхүүлийн командыг ажиллуулж болно гэдгийг хүн бүр мэддэггүй.
Үнэн хэрэгтээ, олон нийлмэл prompt manipulators энэ хувьсагчийг командыг гүйцэтгэхэд ашигладаг.
Үүнийг шинэ бүрхүүлд ажиллуулж үзээд сессэд юу тохиолдохыг харна уу:
$ PROMPT_COMMAND='echo -n "writing the prompt at " && date'
2) HISTTIMEFORMAT
Хэрэв та гүйвэл history
консол дээр та өөрийн дансанд өмнө нь гүйцэтгэсэн командуудын жагсаалтыг хүлээн авах болно.
$ HISTTIMEFORMAT='I ran this at: %d/%m/%y %T '
Энэ хувьсагчийг тохируулсны дараа шинэ оруулгууд тушаалын хамт цагийг бүртгэх тул гаралт нь дараах байдалтай харагдана.
1871 Би энийг: 01/05/19 13:38:07 cat /etc/resolv.conf 1872 Би үүнийг ажиллуулсан: 01/05/19 13:38:19 curl bbc.co.uk 1873 Би энийг ажиллуулсан : 01/05/19 13:38:41 sudo vi /etc/resolv.conf 1874 Би үүнийг ажиллуулсан: 01/05/19 13:39:18 curl -vvv bbc.co.uk 1876 Би үүнийг: 01 /05/19 13:39:25 sudo su -
Формат нь тэмдэгтүүдтэй таарч байна man date
.
3) CDPATH
Тушаалын мөрөнд цаг хэмнэхийн тулд та тушаал өгөхдөө энэ хувьсагчийг ашиглан сангуудыг хялбархан өөрчлөх боломжтой.
Мөн түүнчлэн PATH
, хувьсагч CDPATH
хоёр цэгээр тусгаарлагдсан замуудын жагсаалт юм. Та тушаалыг ажиллуулах үед cd
харьцангуй замтай (жишээ нь тэргүүлэгч ташуу зураасгүй) анхдагч байдлаар бүрхүүл нь тохирох нэрийг хайж олохын тулд таны дотоод хавтсанд харагдана. CDPATH
Таны очихыг хүссэн лавлахыг таны өгсөн замуудаас хайх болно.
Хэрэв та суулгавал CDPATH
Энэ аргаар:
$ CDPATH=/:/lib
тэгээд оруулна уу:
$ cd /home
$ cd tmp
тэгвэл чи үргэлж дотор нь орох болно /tmp
хаана ч байсан хамаагүй.
Гэсэн хэдий ч болгоомжтой байгаарай, учир нь хэрэв та жагсаалтад орон нутгийн нэрийг заагаагүй бол (.
) фолдер байвал та өөр хавтас үүсгэх боломжгүй болно tmp
мөн ердийнхөөрөө түүн рүү очно уу:
$ cd /home
$ mkdir tmp
$ cd tmp
$ pwd
/tmp
Өө!
Энэ нь локал фолдерыг илүү танил хувьсагчдад оруулаагүй гэдгийг мэдээд миний мэдэрсэн төөрөгдөлтэй төстэй юм. PATH
... гэхдээ та үүнийг PATH хувьсагчдаа хийх ёстой, учир нь та зарим татаж авсан кодоос хуурамч тушаал ажиллуулна гэж хууртагдаж магадгүй.
Минийх нь эхлэх цэгээр тохируулагдсан:
CDPATH=.:/space:/etc:/var/lib:/usr/share:/opt
4) SHLVL
Чи бичиж байна уу гэж бодож байсан уу exit
Энэ нь таныг одоогийн bash бүрхүүлээс өөр "эцэг эх" бүрхүүл рүү шилжүүлэх үү эсвэл консолын цонхыг бүрэн хаах уу?
Энэ хувьсагч нь таныг bash shell-д хэр гүн үүрлэсэн болохыг бүртгэдэг. Хэрэв та шинэ терминал үүсгэвэл үүнийг 1 болгож тохируулна:
$ echo $SHLVL
1
Дараа нь, хэрэв та өөр бүрхүүлийн процессыг эхлүүлэх юм бол тоо нэмэгдэнэ:
$ bash
$ echo $SHLVL
2
Энэ нь гарах эсэхээ мэдэхгүй байгаа скриптүүдэд маш хэрэгтэй байж болох юм.
5) LINENO
Хувьсагч нь одоогийн төлөв байдалд дүн шинжилгээ хийх, дибаг хийхэд тустай LINENO
, энэ нь сессэд одоогоор гүйцэтгэсэн командуудын тоог мэдээлдэг:
$ bash
$ echo $LINENO
1
$ echo $LINENO
2
Энэ нь ихэвчлэн скриптийг дибаг хийх үед ашиглагддаг. гэх мэт мөрүүдийг оруулж байна echo DEBUG:$LINENO
, та скриптийн хаана байгааг (эсвэл үгүй) хурдан тодорхойлох боломжтой.
6) REPLY
Хэрэв та над шиг ийм код бичдэг бол:
$ read input
echo do something with $input
Та хувьсагчийг үүсгэх талаар огт санаа зовох хэрэггүй болсон нь гайхмаар санагдаж магадгүй юм:
$ read
echo do something with $REPLY
Энэ нь ижил зүйлийг хийдэг.
7) TMOUT
Аюулгүй байдлын үүднээс үйлдвэрлэлийн серверүүд дээр удаан байх эсвэл буруу терминал дээр санамсаргүй байдлаар аюултай зүйл ажиллуулахгүйн тулд энэ хувьсагчийг тохируулах нь хамгаалалтын үүрэг гүйцэтгэдэг.
Тодорхой секундын турш юу ч оруулахгүй бол бүрхүүл гарна.
Өөрөөр хэлбэл, энэ бол өөр хувилбар юм sleep 1 && exit
:
$ TMOUT=1
Эх сурвалж: www.habr.com