私は周りにいくつかのファイルをコピーするスクリプトを書いて、使用しようとしているshopt -s dotglob ドットファイルをコピーするためにCPを有効にするように.jshintし、その他もろもろを。
shopt -s dotglobエラーなしでbashプロンプトで直接実行できます。ただし、スクリプトを実行するとエラーがスローされます。
script.sh: 81: script.sh: shopt: not found
このスクリプトは、bashシェルでshebangヘッダーを使用して実行しています#!/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/
グーグルで役に立つものを見つけられない、問題がここにあるという考えはありますか?
#!/bin/bashヘッダーで試してみてください?
shoptはbash ビルトインであり、sh持たずshopt、エラーメッセージはからのエラーメッセージのように見えますdash。そのため、ここでのエラーは、bashスクリプトを実行している可能性が高いsh(これはUbuntuのdashデフォルトです)。shへのシンボリックリンクであってもbash、でbashスクリプトをsh実行することはで実行することと同じではありませんbash。