Это было бы традиционным:
#!/bin/bash
pvcreate /dev/md5 || die "pvcreate failed"
vgcreate vg0 /dev/md5 || die "vgcreate failed"
lvcreate -L 200MB vg0 -n test || die "lvcreate failed"
dieВы должны определить функцию , которая печатает сообщение об ошибке и затем завершает работу. Пример реализации может быть
die() {
echo $@ 1>&2 # print arguments of 'die' to standard error
exit 1 # exit the script
}
Когда вы делаете это так, скрипт не выдаст никаких выходных данных, если что-то не получится, и в этом случае он не пойдет дальше. Если вы хотите, чтобы он продолжал работать даже в случае сбоя команды, удалите exitстроку из реализации die.
Если вы также хотите получить сообщение для каждой успешной команды, вы можете сделать это:
#!/bin/bash
if pvcreate /dev/md5; then
echo "pvcreate succeeded"
else
echo "pvcreate failed"
fi
и аналогично для двух других команд.