Я хочу написать функцию, которая проверяет предыдущую команду. Успешно или нет.
Мой код:
#!/bin/bash
function check_previous {
RESULT=$?
if [ $RESULT -eq 0 ]; then
echo "success"
else
echo "failed"
fi
}
echo "wwe"
check_previous
ls - l
check_previous
Да, работает. Нет проблем. Но у меня есть много команд, которые я должен проверять одну за другой. И у меня только два сообщения «успех» и «неудача». Но если я хочу добавить несколько сообщений «каталог успешно удален» или «файл был изменен». как это сделать в одной функции для разных команд? для создания файла «файл был создан», для «удаления», «файл был удален». Есть идеи?
Вам нужно передать строковый параметр в функцию для описания состояния предыдущей команды и использовать этот параметр в echo
.
#!/bin/bash
function check_previous {
RESULT=$?
if [ $RESULT -eq 0 ]; then
echo "$1: success"
else
echo "$1: failed"
fi
}
echo "wwe"
check_previous "echo"
ls - l
check_previous "ls"