Kumaha Jeung Naha Anjeun dupi Paké The $ SHLVL Variable

Variabel $ SHLVL ieu dipaké pikeun ngabejaan Anjeun sabaraha cangkang jero anjeun. Mun anjeun bingung ku ieu dinya sia dimimitian di awal.

Naon Dupi A Shell?

Hiji cangkang nyokot Paréntah jeung mere aranjeunna kana sistem operasi kaayaan nedunan. Dina paling sistem Linux Ubuntu program cangkang disebut BASH (The alatan deui Shell) tapi aya batur sadia kaasup C Shell (tcsh) jeung Korn cangkang (ksh).

Kumaha Ngaksés Linux Ubuntu Shell

Umumna salaku pamaké Anjeun berinteraksi sareng program cangkang ngaliwatan pamakéan a emulation terminal program kayaning XTerm, konsole atanapi GNOME-terminal.

Mun anjeun ngajalankeun hiji manajer jandéla kayaning Openbox atanapi lingkungan desktop kayaning GNOME atanapi KDE anjeun bakal manggihan hiji émulator terminal boh ti menu atawa dash a. Dina loba sistem nu potong kompas Ctrl Alt na T bakal muka jandela terminal ogé.

Alternatipna anjeun tiasa pindah ka TTY sejen (teletypewriter) nu nyadiakeun aksés langsung ka cangkang garis paréntah. Anjeun tiasa ngalakukeun ieu ku cara mencét Ctrl Alt na F1 atanapi Ctrl Alt na F2 jsb

Naon Dupi A Level Shell

Lamun anjeun ngajalankeun paréntah di cangkang a eta ngalir dina hal disebut tingkat cangkang. Dina cangkang nu anjeun tiasa muka cangkang sejen nu ngajadikeun hiji subshell atawa cangkang nu dibuka eta.

Kituna cangkang indungna bakal dianggap sugan cangkang Tingkat 1 jeung cangkang anak bakal janten Tingkat 2 cangkang.

Kumaha Mintonkeun Shell Level

Sakuduna datangna saperti euweuh kejutan dumasar kana judul artikel nu jalan anjeun tiasa ngabejaan nu tingkat cangkang anjeun ngajalankeun dina maksudna ku ngagunakeun variabel $ SHLVL.

Pikeun ningali tingkat cangkang nu ayeuna dijalankeun di tipe di handap:

bahana $ SHLVL

Rada Lucuna lamun ngajalankeun paréntah luhur dina jandela terminal Anjeun bisa jadi kaget ningali yén hasil balik téh 2.

Mun kitu maneh ngajalankeun paréntah anu sarua maké TTY nu lajeng hasilna mangrupa 1.

Naha ieu teh bisi bisa menta? Ogé lingkungan desktop anjeun ngajalankeun keur ngajalankeun on luhureun cangkang a. cangkang nu bakal tingkat 1. Sakur jandela terminal Anjeun buka tina jeroeun yén lingkungan desktop boga janten anak tina cangkang nu dibuka lingkungan desktop sahingga tingkat cangkang teu bisa ngamimitian iraha wae jumlahna lian ti 2.

TTY henteu ngajalankeun lingkungan desktop sahingga mangrupakeun cukup ku hiji tingkat 1 cangkang.

Kumaha Ka Jieun Subshells

Cara panggampangna pikeun nguji konsép cangkang jeung subshells nyaéta saperti kieu. Buka up jandela terminal sarta ngetik di handap:

bahana $ SHLVL

Salaku urang terang tina jandela terminal tingkat cangkang minimum anu 2.

Ayeuna dina jandela terminal ngetik di handap:

sh

Paréntah sh on sorangan ngalir hiji batok interaktif nu hartina anjeun maké cangkang dina cangkang atawa subshell a.

Lamun ayeuna ngetik kieu deui:

bahana $ SHLVL

Anjeun bakal nempo yén tingkat cangkang disetel ka 3. ngajalankeun paréntah sh ti jeroeun subshell bakal muka hiji subshell of subshell tur jadi hambalan cangkang bakal di tingkat 4.

Naha Dupi The Shell Level penting?

Tingkat cangkang Kadé lamun pamikiran ngeunaan ruang lingkup variabel dina Aksara Anjeun.

Hayu urang mimitian ku hal basajan:

Anjing = maisie
$ Anjing bahana

Lamun ngajalankeun paréntah luhur dina cangkang a nu maisie Kecap bakal dipintonkeun ka jandela terminal.

Buka cangkang anyar ku ngetikkeun handap:

sh

Lamun ngajalankeun paréntah kieu anjeun bakal nempo yén euweuh sabenerna balik:

$ Anjing bahana

Yén sabab variabel $ anjing teh ngan aya di tingkat cangkang 2. Lamun ngetik kaluar ka LN subshell tur ngajalankeun $ anjing bahana deui kecap maisie bakal ditampilkeun deui.

Éta ogé patut pamikiran ngeunaan paripolah variabel global dina cangkang a.

Mimitian kaluar dina jandela terminal anyar jeung ngetik handap:

ékspor anjing = maisie
$ Anjing bahana

Salaku bakal nyangka kecap maisie dipintonkeun. Ayeuna buka subshell sarta ngetik $ anjing bahana deui. waktos Ieu anjeun bakal nempo yén maisie Kecap dipintonkeun sanajan anjeun di subshell a.

Alesan keur ieu yén paréntah ékspor dijadikeun $ anjing variabel global. Ngarobah variabel anjing $ dina subshell malah lamun make paréntah ékspor euweuh geus mangaruhan kana cangkang indungna na.

Muga ti ieu Anjeun bisa nempo yén nyaho tingkat cangkang anjeun digawé di boga sababaraha significance nalika nulis Aksara.

Conto Kuring geus dibikeun pisan simplistic tapi cukup umum pikeun hiji Aksara cangkang jeung nelepon Aksara cangkang sejen anu dina gilirannana nyaéta panggero cangkang Aksara séjén sakabéh éta kiwari ngajalankeun dina tingkat nu beda. Nyaho tingkat cangkang tiasa pohara penting.