मैं कुछ फ़ाइलों को कॉपी करने के लिए एक स्क्रिप्ट लिख रहा हूँ, और shopt -s dotglob cp को डॉटफाइल्स की तरह कॉपी करने के लिए उपयोग करने की कोशिश कर रहा हूँ .jshint।
मैं shopt -s dotglobबिना किसी त्रुटि के सीधे bash प्रॉम्प्ट पर चला सकता हूं । हालाँकि, स्क्रिप्ट को चलाना त्रुटि देता है:
script.sh: 81: script.sh: shopt: not found
मैं इस स्क्रिप्ट को शेल शेल्डर के साथ बैश शेल में चला रहा हूं #!/usr/bin/env bash। त्रुटि पंक्ति:
shopt -s dotglob
cp -r $TEMP/img/* $TARGET/img/
cp -r $TEMP/js/* $TARGET/js/
cp -r $TEMP/less/* $TARGET/less/
Google पर कुछ भी उपयोगी नहीं मिल रहा है, किसी भी विचार की समस्या क्या है?
#!/bin/bashशीर्ष लेख के साथ प्रयास करें ?
shoptएक बैश बिलिन है, shनहीं है shoptऔर त्रुटि संदेश से त्रुटि संदेश जैसा दिखता है dash। तो सबसे अधिक संभावना है कि यहां त्रुटि एक स्क्रिप्ट को चला रही है sh(जो कि Ubuntu में dashडिफ़ॉल्ट रूप से है)। यहां तक कि अगर shएक सिमलिंक है bash, तो shइसके साथ चलाने के रूप में एक बैश स्क्रिप्ट को चलाने के समान नहीं है bash।