मैं कुछ फ़ाइलों को कॉपी करने के लिए एक स्क्रिप्ट लिख रहा हूँ, और 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
।