2009-03-03 12 views
8

मेरे पास बैच फ़ाइल है:मैं शैल स्क्रिप्ट के लिए तर्क कैसे पास करूं?

java temptable %1 %2 

मुझे उपर्युक्त के लिए समतुल्य खोल स्क्रिप्ट चाहिए। मैं शैल स्क्रिप्ट में तर्क पारित कर दूंगा और इसे प्रलोभन में पारित किया जाना चाहिए।

+0

यहाँ एक लेख, कैसे एक खोल स्क्रिप्ट के लिए तर्क पारित करने के लिए है। इसमें कमांड लाइन तर्क [शेल स्क्रिप्ट के लिए तर्क कैसे पास करें] शामिल हैं [http://bashscript.blogspot.com/2009/11/how-to-pass-arguments-to-shell-script.html) –

उत्तर

17

बैश के लिए (जो एक खोल, लेकिन शायद सबसे लिनक्स दुनिया में आम), बराबर है:

java temptable $1 $2 

वहाँ बहस में कोई रिक्त स्थान मानते हुए। अगर कोई रिक्त स्थान हैं, तो आप अपने तर्क बोली चाहिए:

java temptable "$1" "$2" 

तुम भी कर सकते हैं:

java temptable $* 

या:

java temptable "[email protected]" 

यदि आप फिर से के माध्यम से (पारित कर सभी मापदंडों चाहते हैं, कि दूसरा पैरामीटर प्रत्येक उद्धरण के बराबर है: "$ 1" "$ 2" "$ 3" ...)।

+2

मैं तर्क उद्धृत करने का सुझाव दूंगा। – jdigital

+0

हो गया, धन्यवाद, @jd। – paxdiablo

+0

यह श और सभी व्युत्पन्न गोले के लिए भी मान्य है, न कि केवल बाश (AFAIK) –

8
#!/bin/bash 
# Call this script with at least 3 parameters, for example 
# sh scriptname 1 2 3 
echo "first parameter is $1" 
echo "Second parameter is $2" 
echo "Third parameter is $3" 
exit 0 

आउटपुट:

[[email protected] ~]# sh parameters.sh 47 9 34 
first parameter is 47 
Second parameter is 9 
Third parameter is 34 
संबंधित मुद्दे