ฉันกำลังเขียนสคริปต์เพื่อคัดลอกไฟล์บางไฟล์และพยายามใช้shopt -s dotglob เพื่อเปิดใช้งาน cp เพื่อคัดลอก dotfiles like .jshintand whatnot
ฉันสามารถรันshopt -s dotglobโดยตรงที่ bash prompt โดยไม่มีข้อผิดพลาด อย่างไรก็ตามการรันสคริปต์จะพ่นข้อผิดพลาด:
script.sh: 81: script.sh: shopt: not found
#!/usr/bin/env bashฉันทำงานสคริปต์นี้ในเปลือกทุบตีด้วยส่วนหัว shebang บรรทัดข้อผิดพลาด:
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คือ builtin ทุบตีshไม่ได้และดูข้อผิดพลาดเช่นข้อผิดพลาดจากshopt dashดังนั้นข้อผิดพลาดที่นี่ส่วนใหญ่ใช้สคริปต์ทุบตีด้วยsh(ซึ่งใน Ubuntu เป็นdashค่าเริ่มต้น) แม้ว่าshเป็น symlink ไปbashทำงานสคริปต์ทุบตีด้วยไม่ได้เช่นเดียวกับการทำงานด้วยsh bash