Saya sedang menulis skrip untuk menyalin beberapa file di sekitar, dan mencoba menggunakan shopt -s dotglob untuk mengaktifkan cp untuk menyalin dotfiles suka .jshintdan yang lainnya.
Saya bisa menjalankan shopt -s dotgloblangsung di bash prompt tanpa kesalahan. Namun, menjalankan skrip melempar kesalahan:
script.sh: 81: script.sh: shopt: not found
Saya menjalankan skrip ini di bash shell, dengan header shebang #!/usr/bin/env bash. Baris kesalahan:
shopt -s dotglob
cp -r $TEMP/img/* $TARGET/img/
cp -r $TEMP/js/* $TARGET/js/
cp -r $TEMP/less/* $TARGET/less/
Tidak menemukan sesuatu yang bermanfaat di google, ada ide apa masalahnya di sini?
#!/bin/bashtajuk yang lebih sederhana ?
shoptadalah bash builtin, shtidak ada shopt, dan pesan kesalahan terlihat seperti pesan kesalahan dash. Jadi, kemungkinan besar kesalahan di sini adalah menjalankan skrip bash sh(yang dashsecara default di Ubuntu ). Meskipun shsymlink adalah bash, menjalankan skrip bash dengan shtidak sama dengan menjalankannya bash.