LINUX.ORG.RU

Вывод сообщения о результате выполнения.

 


0

1

Добрый день всем, я новичок в линукс. Есть скрипт с 5 функциями, функции все выполняются последовательно. Задача: нужно после успешного выполнения всех команд внутри функции вывести сообщение о успешном выполнении именно этой функции. А если внутри функции не выполнилась хоть одна команда или была любая ошибка, то вывести сообщение о неудачном выполнении функции и в какой конкретно функции это было. Пытался создать условие через $?, Но там хранится вывод результата последней выполненной команды, а как получить результат любой не выполненной команды, если она не последняя, будь то она 1я из 10, или 3я из 10. Пример с заведомой ошибкой в 1й и 3й функцией, но может быть любая другая.

#!/bin/bash
function one (){
touch 1.t
catttttt 1.t
rm *.t
}
function two (){
touch 2.t
cat 2.t > 22.t
rm *.t
}
function three (){
touch 3.t
catttttt 3.t
rm *.t
}
one
two
three


Последнее исправление: andreyzer0 (всего исправлений: 2)

Можно запомнить экзит код в отдельной переменной после выполнения каждой команды и перед выходом из каждой функции явно анализировать

По сути это то же самое, что уже предложили, только наглядное и новичку будет проще

pihter ★★★★★
()