小编Che*_*ita的帖子

检查"make"的输出,如果失败则退出bash脚本

然而,我不仅仅是打击,而是一个不仅仅是胆怯的人.我写了一个bash脚本,它将执行我的cmake,make和c ++可执行文件.

#! /bin/bash
cmake .
make
./pcl_visualizer_demo   <-- This is my executable
Run Code Online (Sandbox Code Playgroud)

这很好用,除非我的代码无法编译它执行旧的可执行文件并让我一团糟.我希望将make的输出放入if语句中,该语句仅在make成功时运行可执行文件.我在stackoverflow上尝试了很多其他帖子中的bash.一些问题似乎是make的输出不是一个字符串,例如:

OUTPUT = make
echo $OUTPUT
Run Code Online (Sandbox Code Playgroud)

得到:

[100%] Built target pcl_visualizer_demo
Run Code Online (Sandbox Code Playgroud)

但未能合作:

if [`expr match "$OUTPUT" '[100%] -eq 5]; then ./pcl_visulizer_demo; fi
Run Code Online (Sandbox Code Playgroud)

更不用说我认为这条线可能不止一件事.我也尝试过:

if [diff <(echo "$OUTPUT") <(echo '[100%] Built target pcl_visualizer_demo' -n]; then ./pcl_visulizer_demo; fi
Run Code Online (Sandbox Code Playgroud)

再次可能是我没有正确实施它.任何帮助

linux bash shell

7
推荐指数
3
解决办法
5724
查看次数

标签 统计

bash ×1

linux ×1

shell ×1