Bash में बेसिक वैरिएबल्स

Bash Scripting परिचय

Alex Scriven

Data Scientist

वैरिएबल असाइन करना

अन्य भाषाओं की तरह, आप equals नोटेशन से वैरिएबल असाइन कर सकते हैं.

var1="Moon"

फिर $ नोटेशन से रेफर करें.

echo $var1
Moon
Bash Scripting परिचय

स्ट्रिंग वैरिएबल असाइन करना

वैरिएबल का नाम समझदारी से रखें:

firstname='Cynthia'
lastname='Liu'

echo "Hi there" $firstname $lastname
Hi there Cynthia Liu

दोनों वैरिएबल प्रिंट हुए - बढ़िया!

Bash Scripting परिचय

$ नोटेशन छूट गया

यदि आप $ नोटेशन भूल जाएँ - तो वह वैरिएबल नहीं है!

firstname='Cynthia'
lastname='Liu'
echo "Hi there " firstname lastname
Hi there firstname lastname
Bash Scripting परिचय

(ना) वैरिएबल असाइन करना

Bash वैरिएबल बनाते समय स्पेसेज़ को लेकर सख्त है. स्पेस न जोड़ें!

var1 = "Moon"
echo $var1
script.sh: line 3: var1: command not found
Bash Scripting परिचय

सिंगल, डबल, बैकटिक्स

Bash में अलग-अलग क्वोटेशन मार्क्स का मतलब अलग हो सकता है. वैरिएबल बनाते और प्रिंट करते समय दोनों में.

  • सिंगल कोट्स ('sometext') = Shell अंदर की चीज़ को ज्यों-का-त्यों मानता है
  • डबल कोट्स ("sometext") = Shell सब कुछ लिटरली लेता है, सिवाय $ और बैकटिक्स के

आखिरी तरीका 'shell-within-a-shell' बनाता है, नीचे दिखाया गया है. कमांड-लाइन प्रोग्राम कॉल करने में उपयोगी. यह बैकटिक्स से होता है.

  • बैकटिक्स (`sometext`) = Shell कमांड चलाता है और STDOUT को वापस वैरिएबल में कैप्चर करता है
Bash Scripting परिचय

वैरिएबल बनाने के तरीके

वैरिएबल बनाने के अलग तरीकों का असर देखें

now_var='NOW'

now_var_singlequote='$now_var' echo $now_var_singlequote
$now_var
now_var_doublequote="$now_var"
echo $now_var_doublequote
NOW
Bash Scripting परिचय

date प्रोग्राम

Date प्रोग्राम बैकटिक्स दिखाने के लिए उपयोगी होगा

इस प्रोग्राम का सामान्य आउटपुट:

date
Mon  2 Dec 2019 14:07:10 AEDT
Bash Scripting परिचय

Shell के अंदर shell

अब 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 इस्तेमाल किया!

Bash Scripting परिचय

Parentheses बनाम backticks

बैकटिक नोटेशन का एक समकक्ष है:

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 परिचय

अभ्यास करते हैं!

Bash Scripting परिचय

Preparing Video For Download...