Bash Scripting परिचय
Alex Scriven
Data Scientist
अन्य भाषाओं की तरह, आप equals नोटेशन से वैरिएबल असाइन कर सकते हैं.
var1="Moon"
फिर $ नोटेशन से रेफर करें.
echo $var1
Moon
वैरिएबल का नाम समझदारी से रखें:
firstname='Cynthia' lastname='Liu'echo "Hi there" $firstname $lastname
Hi there Cynthia Liu
दोनों वैरिएबल प्रिंट हुए - बढ़िया!
यदि आप $ नोटेशन भूल जाएँ - तो वह वैरिएबल नहीं है!
firstname='Cynthia'
lastname='Liu'
echo "Hi there " firstname lastname
Hi there firstname lastname
Bash वैरिएबल बनाते समय स्पेसेज़ को लेकर सख्त है. स्पेस न जोड़ें!
var1 = "Moon"
echo $var1
script.sh: line 3: var1: command not found
Bash में अलग-अलग क्वोटेशन मार्क्स का मतलब अलग हो सकता है. वैरिएबल बनाते और प्रिंट करते समय दोनों में.
'sometext') = Shell अंदर की चीज़ को ज्यों-का-त्यों मानता है"sometext") = Shell सब कुछ लिटरली लेता है, सिवाय $ और बैकटिक्स केआखिरी तरीका 'shell-within-a-shell' बनाता है, नीचे दिखाया गया है. कमांड-लाइन प्रोग्राम कॉल करने में उपयोगी. यह बैकटिक्स से होता है.
वैरिएबल बनाने के अलग तरीकों का असर देखें
now_var='NOW'now_var_singlequote='$now_var' echo $now_var_singlequote
$now_var
now_var_doublequote="$now_var"
echo $now_var_doublequote
NOW
Date प्रोग्राम बैकटिक्स दिखाने के लिए उपयोगी होगा
इस प्रोग्राम का सामान्य आउटपुट:
date
Mon 2 Dec 2019 14:07:10 AEDT
अब shell-within-a-shell का इस्तेमाल करें:
rightnow_doublequote="The date is `date`."
echo $rightnow_doublequote
The date is Mon 2 Dec 2019 14:13:35 AEDT.
date प्रोग्राम कॉल हुआ, आउटपुट कैप्चर हुआ और echo के साथ इन-लाइन जोड़ा गया.
हमने एक shell के अंदर दूसरा shell इस्तेमाल किया!
बैकटिक नोटेशन का एक समकक्ष है:
rightnow_doublequote="The date is `date`."
rightnow_parentheses="The date is $(date)."
echo $rightnow_doublequote
echo $rightnow_parentheses
The date is Mon 2 Dec 2019 14:54:34 AEDT.
The date is Mon 2 Dec 2019 14:54:34 AEDT.
दोनों एक जैसे काम करते हैं, हालांकि बैकटिक्स पुराना तरीका है. आधुनिक एप्लिकेशंस में parentheses ज़्यादा चलन में है. (See http://mywiki.wooledge.org/BashFAQ/082)
Bash Scripting परिचय