स्टैंडर्ड स्ट्रीम्स और आर्ग्युमेंट्स

Bash Scripting परिचय

Alex Scriven

Data Scientist

STDIN-STDOUT-STDERR

Bash स्क्रिप्टिंग में, आपके प्रोग्राम के लिए तीन "स्ट्रीम्स" होती हैं:

  • STDIN (standard input). प्रोग्राम में आने वाला डेटा
  • STDOUT (standard output). प्रोग्राम से बाहर जाने वाला डेटा
  • STDERR (standard error). आपके प्रोग्राम की त्रुटियाँ

डिफ़ॉल्ट रूप से, ये स्ट्रीम्स टर्मिनल से आती हैं और उसी पर लिखती हैं।

आप स्क्रिप्ट कॉल में 2> /dev/null देख सकते हैं; यह STDERR को डिलीट करने के लिए रीडायरेक्ट करता है. (1> /dev/null STDOUT होगा)

Bash Scripting परिचय

STDIN-STDOUT का ग्राफिकल व्यू

यहाँ पहले बनाए पाइपलाइन का उपयोग करते हुए स्टैंडर्ड स्ट्रीम्स का ग्राफिकल रूप है:

स्टैंडर्ड स्ट्रीम्स डायग्राम

Bash Scripting परिचय

STDIN उदाहरण

एक टेक्स्ट फ़ाइल (sports.txt) मानिए जिसमें 3 लाइन का डेटा है.

football
basketball
swimming

cat sports.txt 1> new_sports.txt कमांड फ़ाइल से डेटा लेकर STDOUT को नई फ़ाइल में लिखने का उदाहरण है. देखें, cat new_sports.txt करने पर क्या होता है

football
basketball
swimming
Bash Scripting परिचय

STDIN बनाम ARGV

Bash स्क्रिप्टिंग में एक महत्वपूर्ण अवधारणा है arguments

Bash स्क्रिप्ट्स, execution कॉल के बाद स्पेस देकर, अंदर उपयोग के लिए arguments ले सकती हैं।

  • ARGV प्रोग्राम को दिए गए सभी आर्ग्युमेंट्स की array है.
  • हर आर्ग्युमेंट को $ नोटेशन से एक्सेस करते हैं. पहला $1, दूसरा $2 आदि.
  • $@ और $* ARGV के सभी आर्ग्युमेंट्स देते हैं
  • $# आर्ग्युमेंट्स की संख्या देता है
Bash Scripting परिचय

ARGV उदाहरण

एक उदाहरण स्क्रिप्ट (args.sh) देखें:

#!/usr/bash
echo $1
echo $2
echo $@
echo "There are " $# "arguments"
Bash Scripting परिचय

ARGV उदाहरण चलाना

अब चलाएँ bash args.sh one two three four five

one
two
one two three four five
There are 5 arguments

 

#!/usr/bash
echo $1
echo $2
echo $@
echo "There are " $# "arguments"
Bash Scripting परिचय

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

Bash Scripting परिचय

Preparing Video For Download...