Bash आपको टेक्स्ट के पूरे स्ट्रिंग्स को सिंगल वेरिएबल्स में मैप करने की अनुमति देता है, जिससे इसका उपयोग और स्क्रिप्ट लेखन सरल हो जाता है। वे कैसे काम करते हैं, और आप उनका उपयोग कैसे कर सकते हैं? आइए पता लगाते हैं।
वेरिएबल क्या है?
वेरिएबल्स याद रखने में आसान नाम हैं जिनमें अलग-अलग अल्फ़ान्यूमेरिक मान हो सकते हैं। वे उपयोगी हैं क्योंकि वे एक ही फ़ंक्शन को अलग-अलग मानों पर लागू करने की अनुमति देते हैं, बिना स्क्रिप्ट/कोड के टुकड़े को फिर से लिखे। वे स्क्रिप्ट/कोड के टुकड़े को लिखना भी आसान बनाते हैं, क्योंकि व्यक्तिगत मानों से निपटने के बजाय, आप उन सभी के लिए एक ही नाम का उपयोग कर सकते हैं।
रियलटाइम वेरिएबल्स
Bash वेरिएबल्स के उपयोग की अनुमति देता है। आप फ़्लाई पर वेरिएबल्स बना सकते हैं और अपने वर्तमान Bash सत्र के दौरान उनका पुनः उपयोग कर सकते हैं। वे कई अलग-अलग तरीकों से Bash के आपके उपयोग में सहायता कर सकते हैं, और वर्तमान सत्र समाप्त होने के बाद वे चले जाएंगे।
उदाहरण के लिए, मान लीजिए आप कई साइट्स पर जा रहे हैं। आप शोध कर रहे होंगे या डेटा स्क्रैप कर रहे होंगे। आप निम्न वेरिएबल बना सकते हैं:
sitea=https://www.maketecheasier.com
उसके बाद, यदि आप Firefox के साथ हमारी साइट पर जाना चाहते हैं, तो आप बस टाइप कर सकते हैं:
firefox $sitea
बहुत आसान - और अधिक पठनीय। $sitea वेरिएबल तब तक साइट पर मैप्ड रहेगा जब तक आप मैन्युअली इसकी सामग्री नहीं बदलते या Bash सत्र समाप्त नहीं होता। और, निश्चित रूप से, आप अधिक वेरिएबल्स बना सकते हैं, जैसे siteb, sitec, और sited।
नए वेरिएबल्स सेट करते समय, आप किसी भी नाम का उपयोग कर सकते हैं और उनके अंदर कोई भी अल्फ़ान्यूमेरिक स्ट्रिंग स्टोर कर सकते हैं। ध्यान रखें, हालांकि, वे डिफ़ॉल्ट रूप से केस-सेंसिटिव हैं। इस प्रकार, $sitea $SiteA के समान नहीं होगा। साथ ही, ध्यान दें कि आपको विशेष वर्णों (स्पेस सहित) वाले स्ट्रिंग्स को स्टोर करते समय कोटेशन मार्क्स का उपयोग करना चाहिए।
स्क्रिप्ट्स में वेरिएबल्स
Bash में वेरिएबल्स स्क्रिप्ट लिखते समय अधिक उपयोगी होते हैं क्योंकि वे आपको एक ही स्क्रिप्ट लिखने की अनुमति देते हैं, जो तब अलग-अलग स्ट्रिंग्स के माध्यम से पुनरावृत्त हो सकती है या अनुकूलित डेटा के टुकड़ों पर कार्य कर सकती है। मान लीजिए कि आप एक स्क्रिप्ट लिख रहे हैं जिसे हर कोई अपने कंप्यूटर पर उपयोग कर सकता है, लेकिन हर बार एक व्यक्तिगत अभिवादन प्रदर्शित करेगा। वेरिएबल्स के बिना, आपको प्रत्येक उपयोगकर्ता के लिए स्क्रिप्ट का एक अलग संस्करण लिखना होगा। वेरिएबल्स के साथ, आप स्क्रिप्ट को वही रखते हैं और केवल उपयोगकर्ता का नाम बदलते हैं।
ऐसी स्क्रिप्ट निम्न जैसी दिखेगी:
#!/bin/bash username=Odysseas echo $username
उपरोक्त उदाहरण अनावश्यक लग सकता है; हालांकि, जैसे-जैसे कोड की जटिलता बढ़ती है, वेरिएबल्स अपरिहार्य हो जाते हैं। एक स्क्रिप्ट सैकड़ों या हजारों लाइनों लंबी हो सकती है और उपयोगकर्ता के नाम को विभिन्न स्थानों पर समाहित कर सकती है। इसे बेहतर ढंग से समझने के लिए, निम्न कुछ अलग स्क्रिप्ट पर विचार करें:
#!/bin/bash username=Linus echo Hello $username. This is a simple script I wrote that will repeat your name - that is, $username - often as an actual example of how to use Bash variables. I hope it will make it easier to understand how to use variables to improve your Bash workflow, $username. In this case, the variable username is mapped to your name. Whenever Bash runs into it, it replaces it with $username.
उपरोक्त स्क्रिप्ट username वेरिएबल के रूप में परिभाषित नाम का उपयोग टेक्स्ट को पूरा करने के लिए करेगी। यदि वास्तविक उपयोगकर्ता के नाम का उपयोग कर रहे हैं, तो आपको इसे चार बार टाइप करना होगा। फिर, अगले उपयोगकर्ता के लिए भी ऐसा ही करें, और अगले के लिए फिर से चार बार। बार-बार। इसे एक वेरिएबल में असाइन करके, आपको इसे प्रत्येक उपयोगकर्ता के लिए केवल एक बार बदलना होगा, और टेक्स्ट में उपयोगकर्ता के नाम का हर उल्लेख अपडेट हो जाएगा।
स्थायी Bash वेरिएबल्स और एलियास
हमने देखा कि आप अस्थायी रूप से वेरिएबल्स कैसे सेट कर सकते हैं और कैसे, कुछ अधिक स्थायी के लिए, आप उन्हें अपनी स्क्रिप्ट्स में शामिल कर सकते हैं। क्या यह संभव नहीं है, हालांकि, Bash में स्थायी रूप से वेरिएबल्स सेट करने का? उत्तर एक बड़ा "हां!" है और आपको केवल एक फ़ाइल संपादित करनी है: "~/.bashrc"।
अपनी पसंद के टेक्स्ट एडिटर में "~/.bashrc" फ़ाइल खोलें। चूंकि मुझे nano पसंद है, मैंने इसे इसके साथ किया:
nano ~/.bashrc
हम सुझाव देते हैं कि आप एक टेस्ट रन से शुरू करें, केवल एक वेरिएबल जोड़कर, ताकि अगर प्रक्रिया काम न करे तो आपको पता चले कि कहां देखना है। फ़ाइल के अंत में जाएं और, एक नई लाइन में, अपना वेरिएबल जोड़ें। उदाहरण के लिए, मैंने अपने नाम के लिए एक वेरिएबल सेट किया:
myname="Odysseas Kourafalos"
अपनी फ़ाइल सेव करें और एडिटर से बाहर निकलें। परिवर्तन तुरंत लागू नहीं होंगे। इसे प्रभावी करने के लिए अपने टर्मिनल में निम्न दर्ज करें:
source ~/.bashrc
अब आप अपने Bash सत्र में नए सेट वेरिएबल का उपयोग कर सकते हैं:
echo $myname
आप जितने चाहें उतने वेरिएबल सेट कर सकते हैं और Bash में अपने दैनिक कार्यों को काफी सरल बना सकते हैं।
उत्पादकता में अतिरिक्त वृद्धि के लिए, एक अलग प्रकार का वेरिएबल सेट करना भी उचित है: एलियास। सामान्य वेरिएबल्स के विपरीत, जो उन डेटा से मैप्ड होते हैं जिनका उपयोग आप कमांड में कर सकते हैं, एलियास वास्तविक कमांड के बजाय उपयोग किए जाते हैं।
जैसे आप लंबे टेक्स्ट स्ट्रिंग्स को रखने के लिए एक सरल-से-याद रखने वाले वेरिएबल का उपयोग कर सकते हैं, वैसे ही आप जटिल कमांड के सरल विकल्प के रूप में एलियास का उपयोग कर सकते हैं। आप उनके बारे में यहां अधिक जान सकते हैं, जहां हम एक संपूर्ण 7zip कम्प्रेशन कमांड को दो-कैरेक्टर एलियास में बदल देते हैं।
एक अंतिम नोट के रूप में, भले ही आपने .bashrc में स्थायी रूप से एक वेरिएबल सेट किया हो, आप इसे अस्थायी रूप से एक अलग मान निर्दिष्ट कर सकते हैं, जैसा कि हमने पहले देखा था। वेरिएबल वर्तमान Bash सत्र के समाप्त होने तक (लॉग आउट या रीस्टार्ट करने के बाद) या आपके .bashrc फ़ाइल को पुनः स्रोत करने तक नई सामग्री प्रस्तुत करेगा।