Bash(或PowerShell脚本失败)-为什么?
我有一个名为Bash(或PowerShell脚本失败)-为什么?,bash,powershell,npm,Bash,Powershell,Npm,我有一个名为bin的目录,其中有一个名为buildcode的文件,文件类型显示为“file” 使用记事本打开时,代码如下所示: #!/usr/bin/env bash set -e rm -rf build mkdir build cp jspm_packages/system.src.js build/system.src.js cp jspm_packages/system-polyfills.src.js build/system-polyfills.src.js ./bin/bui
bin
的目录,其中有一个名为buildcode
的文件,文件类型显示为“file”
使用记事本打开时,代码如下所示:
#!/usr/bin/env bash
set -e
rm -rf build
mkdir build
cp jspm_packages/system.src.js build/system.src.js
cp jspm_packages/system-polyfills.src.js build/system-polyfills.src.js
./bin/build-root
./bin/build-common-deps
./bin/build-home
./bin/build-navbar
./bin/build-angular1
./bin/build-react -p
./bin/build-angular2
./bin/build-vue
./bin/build-svelte
./bin/build-preact
./bin/build-vanillajs
当我试图通过导航到bin
并键入build code
来运行此文件时,我收到以下错误(PowerShell):
“.\bin\build code”未被识别为内部或外部代码
命令、可操作程序或批处理文件
和bash:
$build代码bash:生成代码:未找到命令 我在PowerShell和GitBash中都试过。我几乎没有为这两种代码编写Scruts的经验(这是第三方代码)。有什么好处?这是一个无效的脚本,还是我做错了什么 作为旁注,
set-e
在做什么?似乎设置了一些变量,但我不知道为什么
p.S.npm标签在列表中,因为它最初是从npm调用的,但我现在正在手动尝试 您是否尝试将
/bin/…
更改为绝对路径
另外,您提到在运行脚本之前导航到bin,似乎脚本希望从父目录运行
之后,您应该能够运行脚本。这通常是我在CentOS/RHEL中需要编写和运行小脚本时所做的。你的剧本到底在做什么?构建文件夹结构?如果是这样的话,使用PowerShell也可以很容易地做到这一点。如果您在bin目录中,所有其他路径看起来都很可疑,除非您在bin下有另一个bin目录。你的脚本是可执行的吗?而
set-e
将导致脚本退出,如果任何命令退出时代码不是0。它设置了一个bash选项,而不是一个变量,谢谢。请在bash中尝试/build code
,这是一个bash脚本,所以您可能需要从bash调用构建(Cygwin?)。否则,您需要将它们重写为批处理脚本(扩展名为.bat或.cmd)。@H_square成功了。另外,Angsar-是的,必须在GitBash中运行它。这真的会导致我得到的错误吗?我正在按照Eric的建议检查指向其他脚本的路径,但如果“构建代码”脚本有效,它似乎不会失败。即使您在bin
目录中,也需要使用./build code调用它,因为它不是PATH
环境变量的一部分