मेरे पास दो (डेबियन) लिनक्स सर्वर हैं। मैं एक शेल स्क्रिप्ट बना रहा हूं।
पहले एक पर मैं इस प्रकार एक सरणी बनाता हूं:
#!/bin/bash
target_array=(
"/home/user/direct/filename -p123 -r"
)
यह ठीक काम करता है। लेकिन जब मैं इसे दूसरे सर्वर पर चलाता हूं तो मुझे यह मिलता है:
Syntax error: "(" unexpected
जहाँ तक मैं बता सकता हूँ दोनों सर्वर एक ही हैं। क्या कोई इस पर प्रकाश नहीं डाल सकता है कि यह काम क्यों नहीं करता है?
अगर मैं इसे सीधे टर्मिनल में टाइप करता हूँ तो यह ठीक है ??
ऐसा प्रतीत होता है कि जब मैं इसे चलाता हूं
sh scriptname.sh
मुझे त्रुटि मिलती है, लेकिन अगर मैं इसे चलाता हूं
./scriptname.sh
यह ठीक लगता है। क्या फर्क पड़ता है?
sh
नहीं है bash
यह रूप में और इतने चल sh scriptname.sh
गलत है
cat -v <script>
यह देखने की कोशिश करें कि क्या चमत्कारी चर हैं।