Как остановить сценарий bash, когда команда встречает ошибку?

Мне нужен приведенный ниже сценарий bash, чтобы сделать следующее: когда команда gcc возвращает ошибку, сценарий прекращает цикл и преждевременно завершает работу. И если скрипт преждевременно завершается, он должен вернуть значение 1 (неудача), иначе будет возвращено 0 (успех).

Я пробовал это сделать, но не думаю, что мои попытки хороши. Я написал свое решение для вышеуказанного в # Попытка: и т. Д.

#!/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
0
задан 30 December 2020 в 23:41

1 ответ

Со страницы руководства set:

-e Немедленный выход, если команда завершается с ненулевым статусом.

Так что ваш скрипт должен начинаться с:

#!/bin/bash

set -e # exit on first error
3
ответ дан 30 December 2020 в 20:45

Другие вопросы по тегам:

Похожие вопросы: