私はこの行を含むbashスクリプトを持っている:悪い置換
dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
これはOSX上の細かい動作します。私はそれがDebianを使用してドッカーコンテナにスクリプトを移動する移動すると
はしかし、それはこのメッセージで上の行に失敗します。
Bad substitution
これがなぜ起こるか任意のアイデア?
私はこの行を含むbashスクリプトを持っている:悪い置換
dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
これはOSX上の細かい動作します。私はそれがDebianを使用してドッカーコンテナにスクリプトを移動する移動すると
はしかし、それはこのメッセージで上の行に失敗します。
Bad substitution
これがなぜ起こるか任意のアイデア?
bash
ではなくdash
シェルを使用しています。
次の項目をチェックしてください:ls -la /proc/$$/exe
スクリプトのシバンとは何ですか? '#!/ bin/sh'はbashではありません。 ( '/ bin/sh'がbashへのシンボリックリンクとして実装されていてもPOSIXモードで動作し、標準への多くの拡張を無効にします)。完全なbash構文が必要な場合、シバン*は '#!/ bin/bash'でなければなりません。 –
(同様に 'sh yourscript'でスクリプトを実行すると、シェルが'#!/ bin/bash'で始まる場合でもPOSIXベースライン機能を提供することが保証されたシェルで解釈されます)。 –