Функция, которая проверяет предыдущую команду
Я хочу написать функцию, чтобы проверить предыдущую команду. Успешно или нет.
Мой код:
#!/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
Да, это работает. Нет проблем. Но у меня много команд, которые я должен проверить, один за другим. И у меня есть только два сообщения "успех" и "не удалось". Но если я хочу добавить несколько сообщений "каталог успешно удален" или "файл был изменен". как сделать это в одной функции для другой команды? для создания файла "файл был создан", для "удаления", "файл был удален". Любая идея?
1 ответ
Решение
Вам нужно передать строковый параметр в вашу функцию, чтобы описать предыдущее состояние команды и использовать этот параметр в 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"