Вам нужно будет запрашивать каждый шаг, чтобы проверить код возврата. Это означает, что вам нужно понять, какие коды возврата для каждого запроса (могут отличаться для каждого). В приведенном ниже примере проверяется vgextend на наличие кода ошибки -1, а затем возвращается значение -1.
pvcreate /dev/$1
vgextend VolGroup00 /dev/$1
if [ $? == -1 ]; then
echo "vgextend returned an error"
exit -1;
fi
lvextend --size +$2 /dev/VolGroup00/LogVol00
resize2fs /dev/VolGroup00/LogVol00
Установка -e может быть излишней, так как некоторые ошибки могут быть допустимы при определенных обстоятельствах. В приведенном ниже примере rm вернет ошибку, если файл не существует, но можно продолжить (да, я знаю, что мы могли бы условно удалить, но пример предназначен для иллюстрации сделанной точки).
# delete the file, it it exists
rm thefile
# create the file
touch thefile