私はWindowsでgit-bashを実行しています。私が直面している問題は、WindowsよりもNIXに関連しているようです。シェルスクリプトがあります。
build.sh
myProject="../myProject/"
build="gulp build"
cd "${myProject}"
pwd
"${build}"
このスクリプトを実行するとエラーが発生します。
gulpビルド:コマンドが見つかりません
シェルから直接「gulp build」を実行するときに同じコマンドを手動で実行すると、すべてがうまく機能します。次のようにスクリプトを実行しようとしています。
. build.sh
そしてただbuild.sh
どちらにしても同じエラーが発生します。 gulp / npmにアクセスしてスクリプトを実行するには?スクリプトを受け取りましたが、なぜ失敗しますか?
答え1
引用符は"${build}"
単語の分割を防ぐため、引数を使用して検索するのではなく、名前にスペースを含む実行可能ファイルを検索する書き込み(引用符を使用)と"gulp build"
同じ効果があります。gulp build
gulp build
gulp
build
最後に、スクリプトの最後の行は次のようになります。
${build}
答え2
引用しないでください"${build}"
。gulp build
この場合、コマンドを予測し(内部にスペースを含め)、そのようなコマンドが存在しないと正しく報告します。
ただ行ってみてください${build}
。その後、シェルはそれをコマンドと引数として扱います。
myProject="../myProject/"
build="gulp build"
cd "${myProject}"
pwd
${build}