Loading...

Linux in Hindi – Shell Embedding

  • Introduction to linux shell embedding in Hindi
  • Embedding a new linux shell to terminal in Hindi

Introduction to Linux Shell Embedding

आज market में linux के 300 से अधिक distributions available है। इन सभी distributions में shell program available होता है जिसके द्वारा commands execute की जाती है।

Linux की ही तरह Shell programs भी बहुत सारे available है। सभी linux distributions में Shell एक जैसा नहीं होता है। जैसे की Linux Ubuntu में BASH (Bourne Again Shell) होता है। इसी प्रकार किसी दूसरे distribution में Ksh shell हो सकता है।

Shell किसी भी operating system बहुत महत्वपूर्ण part होता है। Shell ही user द्वारा execute की गयी commands को kernel से execute करवाता है और output show करता है।

Shell को terminal द्वारा access किया जाता है जो की एक black window होती है। दूसरे operating systems में इसे command line या command prompt भी कहा जाता है।

Embed New Shell Inside Current Shell

Linux आपको current shell में एक नया shell embed करने की ability provide करती है। इसे child shell, sub shell या embedded shell कहा जाता है। यह shell parent shell से independent होता है और इस shell का data parent shell द्वारा नहीं access किया जा सकता है।

लेकिन child shell द्वारा parent shell का data access किया जा सकता है।

Variables Can Be Used to Prove

हालाँकि यह देखने का कोई तरीक़ा नहीं है की terminal द्वारा नया shell create किया गया है या नहीं। लेकिन variables के द्वारा prove किया जा सकता है।

उदाहरण के लिए जब आप कोई variable create करते है तो linux द्वारा child shell create किया जाता है। इसका proof यह होता है की आप उस variable की value को parent shell में display नहीं कर सकते है।

$(myVar=5)
echo $myVar #Does not display myVar value
linux-shell-embedding

यँहा पर dollar brackets द्वारा एक नया shell create किया गया है। इसलिए brackets के बाहर (यानी की parent shell में) जब आप उसकी value print करने का प्रयास कर रहे है तो वह display नहीं हो रही है। लेकिन यदि bracket में ही आप इस variable की value को print करते है तो वह print हो जाती है।

echo $(myVar=5; echo $myVar) # Prints 5
linux-embedded-shell-variables

Variable की value 5 से यह पता चलता है की child shell create की गयी थी।

Access Parent Shell Data

जैसा की पहले बताया गया है parent shell का data embedded shell द्वारा access किया जा सकता है।

myVar=5
echo $(echo $myVar) #prints 5
linux-parent-shell

Use Back Quote For Embedding

Brackets के अलावा shell को embed करने के लिए back quotes (“) का भी प्रयोग किया जा सकता है। Back quotes single quotes से अलग होते है। क्योंकि single quotes variable की value को print ना करके simply variable का नाम और उसकी value print कर देते है।

echo `msg=Hello; echo $msg`
linux-shell-embedding-with-back-quotes

Shell Options

Shell में set और unset दो built-in commands available है। इन command के u option के प्रयोग से variables के लिए bash में options set किए जाते है।

By default shell में जब आप किसी undefined variable को print करने का प्रयास करते है तो shell द्वारा unbound variable error show की जाती है।

echo $myVar #error: Unbound Variable
linux-shell-unbound-variable-error

यह error तब भी show होती है जब u option को negative set किया जाता है। यदि u option को positive set किया गया है तो किसी प्रकार की error show नहीं होती है सिर्फ़ एक blank line show होती है।

set +u
echo $myVar #Shows blank line
linux-set-command-plus-u-option