SHLVL Хувьсах $ хэрхэн ашиглах вэ?

$ SHLVL хувьсагч нь танд хэр олон хуягтайг хэлэхэд ашигладаг. Хэрэв та энэ талаар эргэлзэж байгаа бол эхнээс нь эхлэх нь үнэтэй юм.

Шавар гэж юу вэ?

Бүрхүүл нь тушаалуудыг гүйцэтгэх бөгөөд тэдгээрийг гүйцэтгэх үндсэн үйлдлийн системд өгдөг. Ихэнх Линукс системүүд дээр бүрхүүлийн програмыг BASH (The Bourne Again Shell гэж нэрлэдэг) боловч C Shell (tcsh) болон KORN бүрхүүл (ksh) зэрэг бусад боломжтой байдаг.

Линукс Shell хэрхэн ашиглах талаар

Ер нь хэрэглэгчийн хувьд та shell програмыг XTerm, konsole эсвэл gnome-терминал зэрэг терминал эмуляц програмаар дамжуулан ашигладаг.

Хэрэв та OpenOffice буюу OpenOffice эсвэл GNOME эсвэл KDE зэрэг ширээний орчнуудыг ажиллуулж байгаа бол та терминал эмулуулагчийг цэс эсвэл зурааснаас олох болно. Олон систем дээр богино холболт CTRL ALT ба T нь терминалын цонхыг нээнэ.

Өөрөөр та өөр tty (teletypewriter) руу шилжиж тушаалын мөрний бүрхүүл рүү шууд хандаж болно. Та CTRL ALT, F1 эсвэл CTRL ALT, F2 зэрэг дарж үүнийг хийж болно.

Shell түвшин гэж юу вэ

Хэрэв та бүрхүүл дээр тушаал ажиллуулах юм бол бүрхүүлийн түвшин гэж нэрлэгдэх зүйл дээр ажилладаг. Бүрхүүлийн дотор та өөр бүрхүүлийг нээдэг бөгөөд үүнийг бүрхүүлийн бүрхүүл эсвэл бүрхүүлийг нээдэг.

Тиймээс эцэг эх нь магадгүй 1-р түвшний бүрхүүл гэж тооцогдох бөгөөд хүүхдийн бүрхүүл нь 2-р түвшний бүрхүүл байх болно.

Shell түвшинг хэрхэн харуулах вэ

Энэ нь SHLVL хувьсагчийг ашиглан таны аль түвшинд ажиллаж байгааг тань хэлж чадах өгүүллийн гарчиг дээр үндэслэгдэхгүй.

Таны одоо ажиллаж байгаа бүрхүүлийн түвшинг дараах байдлаар харна уу:

echo $ SHLVL

Хэрэв та дээрх тушаалыг терминалын цонхон дээр ажиллуулж байвал үр дүн нь буцаж ирсэнийг хараад гайхах болно.

Гэхдээ хэрэв та tty тушаал ашиглан ижил тушаалыг ажиллуулбал үр дүн нь 1 юм.

Та яагаад энэ асуултыг асууж болох вэ? Таны ажиллаж байгаа desktop орчин бүрхүүл дээр ажиллаж байна. Энэ бүрхүүл нь 1-р түвшний түвшинд байх болно. Десктоп орчин дотроос таны нээж байгаа терминалын цонх нь ширээний орчинг нээсэн бүрхүүлийн хүүхэд байх ёстой бөгөөд бүрхүүлийн түвшин 2-с өөр ямар ч тооноос эхэлж болохгүй.

Tty нь ширээний орчинг ажиллуулахгүй тул зөвхөн 1 түвшний бүрхүүл юм.

Хэрхэн хөвөх вэ?

Бүрхүүлүүд болон дэд бүтцийн талаарх ойлголтыг шалгах хамгийн хялбар арга бол дараах байдалтай байна. Терминал цонхыг нээгээд доор дурдсаныг бичнэ үү:

echo $ SHLVL

Терминал цонхноос бид хамгийн бага бүрхүүлийн түвшин 2 байна.

Одоо терминалын цонхны дотор дараахийг бичнэ:

sh

Sh command тушаал нь интерактив бүрхүүл бөгөөд та бүрхүүл эсвэл бүрхүүлийн доор бүрхүүл ашиглаж байна гэсэн үг юм.

Хэрэв та одоо үүнийг дахин бичнэ үү:

echo $ SHLVL

Та бүрхүүлийн түвшинг 3-д тохируулсан болохыг харж болно. Дараах бүрхүүлийн доторхоос sh тушаалыг ажиллуулж доорх бүрхүүлийн дараагийн бүрхүүлийг нээнэ. Тэгэхээр бүрхүүлийн түвшин 4-р түвшинд байх болно.

Яагаад Shell түвшний чухал вэ?

Скрипт доторх хувьсагчийн хамрах хүрээний талаар бодох үед бүрхүүлийн түвшин чухал байдаг.

Ямар нэг энгийн зүйлийг эхлүүлье:

нохой = maisie
$ нохой echo

Хэрэв та дээрх тушаалыг бүрхүүл дээр ажиллуулж байгаа бол maisie гэсэн нэрийг терминал цонхонд харуулах болно.

Дараах гэж бичин шинэ бүрхүүл нээнэ үү:

sh

Хэрэв та энэ тушаалыг ажиллуулах юм бол буцаах зүйлгүй болно.

$ нохой echo

Учир нь $ нохой хувьсагч нь зөвхөн 2-р түвшний ангийн түвшинд байдаг. Учир нь та доор дурдсаныг үзээрэй. Дараа нь $ io $ нохойноос гарахын тулд maisie дахин гарч ирэх болно.

Энэ нь бүрхүүл дэх дотоод хувьсагчдын зан төлөвийн талаархи бодолтой байх шаардлагатай.

Шинэ терминалын цонхноос эхлээд дараахийг бичнэ:

экспортын нохой = maisie
$ нохой echo

Майя гэдэг үг гарч ирнэ гэж найдаж байна. Одоо нэг дэд модыг нээж, $ цуурайг $ нохой дараарай. Энэ удаад та мультимедиа үгэнд орсон үг харагдах болно.

Үүний шалтгаан нь экспортын тушаал нь $ нохой хувьсагчийн дэлхий дахиныг үүсгэсэн явдал юм. Экспортын командыг ашигладаг байсан ч нохойны хувьсагчийг түүний толгойн бүрхүүлд нөлөөлөхгүй.

Үүнээс харахад таны ажиллаж буй бүрхүүлийн түвшинг скрипт бичихэд чухал ач холбогдолтой болохыг мэдэж болно.

Миний өгсөн жишээнүүд нь маш хялбархан боловч нэг бүрхүүлийн скрипт өөр бүрхүүлийн скрипт бичихэд ихэвчлэн түгээмэл байдаг бөгөөд энэ нь өөр өөр түвшинд ажиллаж байгаа өөр нэг бүрхүүлийн скриптийг дууддаг. Бүрхүүлийн түвшинг мэдэх нь маш чухал.