मैं एक स्क्रिप्ट लिखने की कोशिश कर रहा हूं जिसमें यह जांचना है कि क्या कोई फाइल मौजूद है। कंसोल में मैं लिखता हूं
if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi
और मुझे मिलता है
not mod
लेकिन जब मैं एक ही काम करने के लिए एक स्क्रिप्ट लिखता हूं:
#!/bin/sh
if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi
और फिर स्क्रिप्ट निष्पादित करें, मुझे यह मिला:
./ex.sh: 2: [[: not found
mod
मैंने वर्तमान निर्देशिका पर स्क्रिप्ट को सहेजा और इसे ex.sh नाम दिया, फिर मैंने सुनिश्चित किया कि यह निष्पादन योग्य है। स्क्रिप्ट को कॉल करने के लिए मैं ऐसा करता हूं:
./ex.sh
मुझे यह समस्या क्यों हो रही है? मैंने पहले से ही कई चीजों की कोशिश की:
if [ -a /home ...
तथा
if test -a /home ...
दोनों लौट आते हैं
13: -a: unexpected operator
#!/bin/bash