当命令遇到错误时如何停止 bash 脚本?

当命令遇到错误时如何停止 bash 脚本?

我需要下面的 bash 脚本执行以下操作,当 gcc 命令返回错误时,脚本将停止循环并提前退出。如果脚本提前退出,它应该返回值 1(失败),否则它将返回 0(成功)。

我尝试过这样做,但我认为我的尝试并不好。我在 #Attempt : 等中写下了对上述问题的解决方案...

#!/bin/bash
# This script will be going through all C program files
ls *.c
gcc *.c -o Output.out

# Attempt: command || exit 1 # exit 1 failure

./Output.out
ls *.cc 
g++ *.cc -o SecOutput.out

# Attempt: command || exit 1 # exit 1 failure

./SecOutput.out 

# Attempt: exit 0 # exit 0 success

答案1

来自设置手册页

-e 如果命令以非零状态退出,则立即退出。

因此你的脚本应该以以下内容开头:

#!/bin/bash

set -e # exit on first error

相关内容