यह लेख बताएगा कि Bash और Bash/Shell स्क्रिप्टिंग में $@ क्या है और आप इसका कैसे और क्यों उपयोग कर सकते हैं।
$@ वेरिएबल Bash में एक विशेष वेरिएबल है जो स्क्रिप्ट को पास किए गए सभी कमांड लाइन आर्गुमेंट्स/पैरामीटर्स का मान रखता है।
Bash में कमांड लाइन आर्गुमेंट्स/पैरामीटर्स
शेल स्क्रिप्ट्स में कमांड-लाइन आर्गुमेंट्स/पैरामीटर्स का उपयोग एक महत्वपूर्ण और उपयोगी विशेषता है, इसलिए इस पर हमारा एक पूरा लेख है:
यह लेख Shell/Bash स्क्रिप्ट्स में कमांड लाइन आर्गुमेंट्स पर हमारे लेख का अनुसरण करता है
$@ में स्क्रिप्ट को पास किए गए सभी पैरामीटर्स/आर्गुमेंट्स होते हैं
$@ कैसे काम करता है, इसे समझाने का सबसे आसान तरीका है, निश्चित रूप से, कुछ उदाहरण कोड के साथ।
निम्न उदाहरण स्क्रिप्ट केवल वेरिएबल $@ की सामग्री को प्रिंट करती है
#!/bin/bash echo $@
कुछ उदाहरण आर्गुमेंट्स के साथ इस स्क्रिप्ट को कॉल करना:
sh test.sh "apple" 0 banana 1
निम्न आउटपुट देगा:
apple 0 banana 1
इस प्रकार दिखाता है कि $@ वेरिएबल केवल स्क्रिप्ट को पास किए गए सभी पैरामीटर्स का मान रखता है।
ध्यान दें कि कोट्स हटा दिए गए हैं, क्योंकि $@ में पैरामीटर्स का मान होता है न कि पास किया गया टेक्स्ट।
पोजिशन 1 से सभी पोजिशनल पैरामीटर्स शामिल हैं (पोजिशन 0 में निष्पादित स्क्रिप्ट का नाम होता है और इसे छोड़ दिया जाता है)।
$@ सीमित उपयोग के मामलों वाला एक विशेष वेरिएबल है – यह सिफारिश की जाती है कि आप पोजिशनल पैरामीटर्स का उपयोग करें और उनका उपयोग वैसे ही करें जैसे उनका इरादा है (एक मान को एक पैरामीटर में पास करना) बजाय $@ का उपयोग करके अपने स्क्रिप्ट में ढेर सारा डेटा पढ़ने और इसे स्वयं पार्स करने की कोशिश करने के।