我有一个流程,我想忽略某类错误。不幸的是,这些特定错误没有可区分的返回码,但它们是可区分的错误消息。简而言之,在运行时:
npm run build
文字' npm ERR!缺少脚本:build'如果" build"将出现在stderr中脚本丢失了。但是,在这种特殊情况下,我不想考虑错误,即我想返回0作为返回代码。
关于解决方案可能带来什么的一些想法:
更新1: 到目前为止,我尝试了以下有点天真的方法:
#!/bin/bash
npm run build 2> temp.file
grep 'npm ERR! missing script: build' temp.file
RC=$?
if [[ RC -eq 0 ]]; then
echo 'WARNING: No "build" script found'
fi
..然后我运行了以下测试用例:
场景1:有效的构建脚本: "构建":"回显'占位符构建脚本'"
输出: $ ./build.sh
consumer-app-cod@1.0.0-alpha build C:\ projects \ epo-consumer-app \ app echo'占位符构建脚本'
'占位符构建脚本'
预期:看起来不错
场景2:无效的构建脚本: " build":" invalid-bin"
$ ./build.sh
consumer-app-cod@1.0.0-alpha build C:\ projects \ epo-consumer-app \ app 无效宾
预期:类似于: $ invalid-bin bash:invalid-bin:找不到命令
场景3:缺少构建脚本
$ ./build.sh 错误的ERR!缺少脚本:构建 警告:否#34;构建"找到脚本
预期:看起来不错
一些事情: