Мне нужен приведенный ниже сценарий 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
Со страницы руководства set:
-e Немедленный выход, если команда завершается с ненулевым статусом.
Так что ваш скрипт должен начинаться с:
#!/bin/bash
set -e # exit on first error