लिनक्स शेल पर, इको $ 1 क्या करना चाहिए?


11

मैं एक करता हूं echo $1, यह प्रिंट करता है कि डिफ़ॉल्ट लॉगिन शेल का उपयोग क्या है।

लेकिन इसके echo $2बाद, मुझे सब कुछ एक नया रूप है। ऐसा क्यों है?

जवाबों:


21

$ 1 (या $ 2, $ 3 ...) को किसी स्क्रिप्ट के लिए दिए गए तर्क माना जाता है।

यहाँ एक उदाहरण स्क्रिप्ट है:

#!/bin/bash

echo "\$1 is now $1"
echo "\$2 is now $2"
echo "\$3 is now $3"

और उदाहरण आउटपुट

jaba@lappy:/tmp$ ./example.sh 
$1 is now 
$2 is now 
$3 is now 
jaba@lappy:/tmp$ ./example.sh 1 2 3
$1 is now 1
$2 is now 2
$3 is now 3

1
और $ 0 स्किप्ट निष्पादित होने का नाम है, जो आर्गव के अनुरूप है।
बेंजामिन बैनियर

4

$ 1 शेल स्क्रिप्ट के लिए पारित तर्क है।

मान लीजिए, आप दौड़ते हैं

./myscript.sh hello 123 

फिर

$ 1 हैलो होगा

$ 2 123 होगा


3

आपके मामले में $ 1 प्रिंट डिफ़ॉल्ट लॉगिन शेल का उपयोग करता है क्योंकि इस तर्क को स्क्रिप्ट में पारित किया गया था जो आपके लॉगिन शेल को चलाता है। लेकिन अगर आप वर्तमान सत्र, $ 1, $ 2 में अपनी स्क्रिप्ट लिखेंगे और चलाएंगे, तो वे पैरामीटर होंगे जो आप अपनी स्क्रिप्ट पर भेजते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.