gpt4 book ai didi

linux - 如果命令在 Unix shell 中失败,如何中止?

转载 作者:太空狗 更新时间:2023-10-29 12:02:21 24 4
gpt4 key购买 nike

我不太擅长 shell 脚本,但仍然找不到解决方案。我想运行命令 gulp tslint,如果它返回错误,则中止脚本。

到目前为止,我尝试了 gulp tslint || exit 1 没有成功。我认为它以某种方式返回 true,即使当我在命令提示符下运行它时它有错误,例如

[12:30:14] Starting 'tslint'...
[12:30:14] Finished 'tslint' after 9.49 ms
[12:30:16] [gulp-tslint] error (quotemark) payment-types.ts[18, 53]: " should be '

我怎样才能让它发挥作用?

感谢任何帮助。谢谢!

最佳答案

这看起来像是一个 gulp 问题,而不是一个 shell 问题。当 gulp 成功完成时(即到达导出而没有引发错误),它不会告诉 shell 任何错误。解决此问题的最佳方法是重新配置 gulp 以将 lint 失败解释为错误。

你能发布你的gulpfile.js吗?特别是您的 tslint 任务。

大概是这样

gulp.task('tslint', function() {
gulp.src("**/*.ts")
.pipe(tslint.report('prose'))
});

您可以通过将其更改为以下内容来指示您的记者在出错时失败:

gulp.task('tslint', function() {
gulp.src("**/*.ts")
.pipe(tslint.report('prose', {emitError: true}))
});

编辑:查看 gulp-tslint README有关 emitError 的更多详细信息

关于linux - 如果命令在 Unix shell 中失败,如何中止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30478584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com