私は周りにいくつかのファイルをコピーするスクリプトを書いて、使用しようとしている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
。