Чӣ гуна ва чаро шумо $ SHLVL иваз карда мешавад

$ 0,06 $ 0,50 $ 0,50 $ 0,50 $ 0,50 $ 0,50 $ 0,95 $ 0,50 $ 0,50 $ 0,50 $ 0,50 $ Агар шумо аз ин тариқатонро сарф кунед, ин ба ибтидо оғоз меёбад.

Чӣ ниҳонӣ?

Шабака амр медиҳад ва онҳоро ба системаи амалии амалиётӣ медиҳад. Дар бисёр системаҳои система барномаи барномаи shell BASH (The Bourne Again Shell) номида мешавад, аммо дар он ҷое, ки бо C Shell (tcsh) ва пӯсти KORN (ksh) мавҷуданд.

Чӣ тавр ба дастрасии Kabell Linux

Умуман ҳамчун як корбар шумо бо барномаҳои ниҳонӣ тавассути истифодаи барномаи иммунии терминал, аз қабили XTerm, конолет ё gnome-терминал.

Агар шумо идоракунандаи тиреза, ба монанди Openbox ё муҳити desktop, ба монанди GNOME ё KDE кор карда истодаед, шумо аз меню ё тиреза эмулятори терминалро пайдо мекунед. Дар бисёр системаҳо экрани CTRL ALT ва T як тирезаи терминал кушода мешаванд.

Алтернативӣ шумо метавонед ба tty (teletypewriter) гузаред, ки дастрасии бевосита ба пӯшидани сатри фармонро таъмин мекунад. Шумо метавонед инро бо пахшкунии CTRL ALT ва F1 ё CTRL ALT ва F2 ва ғайра.

Сатҳи Шеллҳо чист?

Ҳангоме, ки шумо дар амрози амр фармонро иҷро мекунед, дар он чизе, ки дар сатҳи ниҳонӣ ном дорад, меравад. Дар дохили ниҳол шумо метавонед ниҳоли дигарро кушоед, ки онро як зерсохтор ё панеле, ки онро кушодааст, месозад.

Бинобар ин, ниҳолшиноси волидайн шояд эҳтимолияти дараҷаи 1 пӯшида бошад ва ҷилди кӯдакон дараҷаи 2 ниҳонӣ хоҳад буд.

Чӣ гуна нишон додани сатҳи Shell

Он бояд дар асоси мақолаи мақолае, ки шумо метавонед ба он ишора кунед, ки дараҷаи ниҳонии шумо дар он аст, ки бо истифода аз тағйирёбии $ SHLVL нишон дода мешавад.

Барои дидани сатҳи ниҳонӣ, ки шумо ҳоло дар намуди зерин кор карда истодаед:

echo $ SHLVL

Баръакс, агар шумо дар болои тирезаи терминал дар фармони роҳбарӣ амал кунед, шумо шояд ҳайрон шавед, ки натиҷа баргардонида шудааст 2.

Бо вуҷуди ин, агар шумо бо истифодаи tty-ро истифода баред, пас натиҷа 1 аст.

Чаро ин тавр шумо метавонед пурсед? Хуб, муҳаррикҳои мизи кории шумо дар болои пӯсти корӣ кор мекунад. Ин пӯша дараҷа хоҳад буд. 1. Ҳар як тирезаи терминали шумо, ки дар дохили он мизи корӣ кушода мешавад, бояд кӯдаки ниҳонӣ, ки муҳити мизи кориро кушода бошад ва аз ин рӯ дараҷаи ниҳонӣ дар ягон рақами ғайр аз 2 оғоз карда наметавонад.

Тифо муҳити мизи кориро иҷро намекунад ва бинобар ин сатҳии 1 пӯшида аст.

Чӣ тавр Барои эҷоди Subshell

Роҳи осонтарини санҷидани консепсияи садафҳо ва зергурӯҳҳо инҳоянд: Тирезаи терминалро кушоед ва зеринро дохил кунед:

echo $ SHLVL

Тавре, ки мо аз тирезаи терминал медонем, сатҳи ҳадди аққал 2-ро ташкил медиҳад.

Акнун дар дохили тирезаи терминал чунин нависед:

Ш

Фармони sh аз худи худи пӯсти интерактивӣ мебошад, ки маънои онро дорад, ки шумо дар дохили ниҳонӣ ё зершӯъбаҳо истифода мебаред.

Агар шумо ҳоло инро нависед:

echo $ SHLVL

Шумо мебинед, ки сатҳи пӯшида ба 3 муқаррар карда мешавад. Иҷроиши фармони sh аз дохили зерсохтор як зерсохтори зершӯъро кушода хоҳад шуд ва аз ин рӯ сатҳҳои ниҳонӣ дар сатҳи 4 хоҳад буд.

Чаро Қобилияти Shell муҳим аст?

Ҳангоми баррасии масунияти тағйирёбандаҳо дар дохили скриптҳои шумо, сатҳи сатҳ муҳим аст.

Биёед як чизи оддиро сар кунем:

саг = maisie
echo $ dog

Агар шумо ин фармонро дар як ниҳод иҷро кунед, калимаи терминал ба тирезаи терминал нишон дода мешавад.

Бо тасвири зайл нависед:

Ш

Агар шумо ин фармонро иҷро кунед, мебинед, ки ҳеҷ чизи воқеан баргардонида нашудааст:

echo $ dog

Ин сабаби он аст, ки тағйирёбии саг танҳо дар сатҳҳои ниҳонӣ дастрас аст. Агар шумо баромадан аз берун аз зеркашӣ хориҷ шавед ва echo $ dogро боз кунед, калимаи "maisie" -ро бори дигар нишон медиҳад.

Инчунин дар бораи тарзи тағйирёбии глобалӣ дар дохили ниҳод фикр кардан лозим аст.

Дар тирезаи нави терминал кор кунед ва зеринро дохил кунед:

сагҳои содиротӣ = maisie
echo $ dog

Тавре, ки шумо интизор меравед, maisie калима нишон дода мешавад. Акнун як зеркашӣ кушода, навъи echo $ dog нав кунед. Дар ин ҳолат, шумо мебинед, ки "maisie" калимаи "maisie" -ро нишон медиҳад, ҳатто агар шумо дар зерсохтор бошед.

Сабаби ин ин аст, ки фармоишгари экспресс ба глобалии тағйирёбии саг дод. Тағир додани тағироти саг дар дохили subshell ҳатто агар шумо истифода бурдани фармони содиротӣ дар садафҳои волидайн ба ягон таъсир намерасонад.

Боварӣ ҳосил кунед, ки шумо метавонед дарк кунед, ки дараҷаи пӯсти шумо, ки шумо дар он кор мекунед, дар вақти навиштани скриптҳо аҳамияти муҳим дорад.

Мисолҳое, ки ман дода будам, хеле соддаанд, вале барои як скриптори оддии ҷудогона таблиғ кардани дигар скифаро, ки дар навбати худ ҳамаи скрипти паролро даъват мекунад, ки ҳамаи онҳо ҳоло дар сатҳи гуногун кор мекунанд. Донистани сатҳи ниҳонӣ хеле муҳим аст.