我在 Windows 上运行 git-bash。我觉得我面临的问题更像是一个面向 NIX 的问题,而不是 Windows。我有一个shell脚本:
myProject="../myProject/"
build="gulp build"
cd "${myProject}"
pwd
"${build}"
Run Code Online (Sandbox Code Playgroud)
当我运行这个脚本时出现错误
吞咽构建:找不到命令
当我直接在 shell 中运行“gulp build”时,手动运行这些相同的命令然后一切正常。我尝试通过以下方式执行脚本:
. build.sh 只是 build.sh
无论哪种方式都相同的错误。如何运行可以访问 gulp/npm 的脚本?为什么即使在我获取脚本时也会失败?
mik*_*mik 11
Quoting"${build}"可以防止分词,因此它在此处与 write "gulp build"(带引号)具有相同的效果,后者将搜索gulp build名称中带有空格的可执行文件;而不是 write gulp build,它gulp使用build参数执行。
最后,脚本的最后一行应该是:
${build}
Run Code Online (Sandbox Code Playgroud)
不要引用"${build}"。正如它在这种情况下所期望的那样gulp build命令(里面有一个空格)并且正确地报告这样的命令不存在。
只需通过 执行${build}。然后 shell 会将其视为命令和参数。
myProject="../myProject/"
build="gulp build"
cd "${myProject}"
pwd
${build}
Run Code Online (Sandbox Code Playgroud)