Carane Lan Ngapa Sampeyan Gunakake $ SHLVL Variable

Variabel $ SHLVL digunakake kanggo pitutur marang kowe carane akeh cangkang jero sampeyan. Yen sampeyan bingung, iki pancene kudu diwiwiti ing wiwitan.

Apa Shell?

Cangkang njupuk perintah lan diwenehake menyang sistem operasi sing nduwe. Ing sawetara sistem Linux, program shell diarani BASH (The Bourne Again Shell) nanging ana liyane sing kasedhiya kalebu C Shell (tcsh) lan shell KORN (ksh).

Cara Ngakses Shell Linux

Umumé minangka panganggo sampeyan sesambungan karo program shell liwat panggunaan program emulasi terminal kayata XTerm, konsole utawa terminal gnome.

Yen sampeyan mlaku pangurus windows kayata Openbox utawa lingkungan desktop kayata GNOME utawa KDE sampeyan bakal nemokake emulator terminal saka menu utawa mlayu. Ing akeh sistem trabasan CTRL ALT lan T bakal mbukak jendhela terminal uga.

Utawa sampeyan bisa ngalih menyang tty liyane (teletypewriter) sing menehi akses langsung menyang cangkang baris perintah. Sampeyan bisa nindakake iki kanthi mencet CTRL ALT lan F1 utawa CTRL ALT lan F2 etc.

Apa Tingkat Shell

Nalika sampeyan nglakoni perintah ing cangkang sing lumaku ing bab kang disebut tingkat cangkang. Ing cangkang sampeyan bisa mbukak cangkang liyane sing ndadekake minangka subshell utawa cangkang sing dibukak.

Mulane cangkang induk bakal dianggep mbentuk cangkang tingkat 1 lan cangkang anak dadi cangkang tingkat 2.

Cara Nampilake Tingkat Shell

Sampeyan kudu teka minangka ora kaget adhedhasar judhul artikel sing cara sampeyan bisa ngomong level cangkang sing sampeyan mlaku ing kanthi nggunakake variabel $ SHLVL.

Kanggo ndeleng tingkat cangkang sing saiki mlaku ing jinis ing ngisor iki:

echo $ SHLVL

Luwih menarik yen sampeyan mbukak perintah ing ndhuwur ing jendhela terminal sampeyan bisa uga kaget yen asil bali 2.

Yen sampeyan nglakoni perintah sing padha nggunakake tty banjur asil 1.

Kenapa iki bisa sampeyan takon? Uga lingkungan desktop sampeyan mlaku lagi mlaku ing ndhuwur cangkang. Cangkang sing bakal tingkat 1. Saben jendhela terminal sing dibukak saka jero lingkungan desktop kudu dadi anak saka cangkang sing mbuka lingkungan desktop lan mulane tingkat cangkang ora bisa miwiti ing nomer apa-apa liyane saka 2.

Ing tty ora mlaku lingkungan desktop lan mulane mung tingkat 1 cangkang.

Carane Nggawe Subshells

Cara paling gampang kanggo nyoba konsep cangkang lan subhells kaya ing ngisor iki. Bukak jendhela terminal lan ketik ing ngisor iki:

echo $ SHLVL

Kaya kita ngerti saka jendhela terminal tingkat cangkang minimum yaiku 2.

Saiki ing jendhela jendhela ketik ing ngisor iki:

sh

Printah caturan dhewe nduweni cangkang interaktif kang tegese sampeyan nggunakake cangkang ing cangkang utawa subshell.

Yen sampeyan ngetik maneh iki:

echo $ SHLVL

Sampeyan bakal bisa ndeleng manawa level cangkang disetel dadi 3. Running perintah sh saka ing subshell bakal mbukak subkelas saka subshell lan supaya tingkat cangkang bakal ing tingkat 4.

Kenapa Tingkat Shell Penting?

Tingkat cangkang penting nalika mikir babagan ruang lingkup variabel ing skrip panjenengan.

Ayo mulangke karo prasaja:

asu = maisie
echo $ dog

Yen sampeyan ngaktifake perintah ndhuwur ing cangkang, tembung maisie bakal ditampilake ing jendela terminal.

Bukak cangkang anyar kanthi ngetik ing ngisor iki:

sh

Yen sampeyan nglakoni prentah iki, sampeyan bakal weruh yen ora ana sing bakal bali:

echo $ dog

Iku amarga variable asu $ mung kasedhiya ing level shell 2. Yen sampeyan ngetik metu kanggo metu subhell lan mbukak $ dog maneh $ maisie tembung bakal ditampilake maneh.

Sampeyan uga mikir babagan prilaku variabel global ing cangkang.

Mulai ing jendhela terminal anyar lan ketik ing ngisor iki:

ekspor anjing = maisie
echo $ dog

Minangka sampeyan bakal nyana maisie tembung ditampilake. Saiki mbukak subshell lan ketik $ dog maneh. Wektu iki sampeyan bakal weruh yen tembung maisie ditampilake sanajan sampeyan ana ing subshell.

Alesan kanggo iki yaiku printah ekspor digawe global variable asu $. Ngganti variabel asu $ ing subshell sanajan sampeyan nggunakake print ekspor ora duweni pengaruh marang cangkang induk.

Muga-muga saka iki sampeyan bisa ndeleng yen mangerteni tingkat cangkang sing sampeyan gunakake wis duwe pinunjul nalika nulis naskah.

Conto-conto sing diwenehake saya prasaja banget nanging cukup umum kanggo siji skrip shell kanggo nimbali script shell liyane sing uga nelpon script liyane shell kabeh padha saiki mlaku ing tingkat beda. Ngerti tingkat cangkang bisa penting banget.