Функция, которая проверяет предыдущую команду

Я хочу написать функцию, которая проверяет предыдущую команду. Успешно или нет.

Мой код:

#!/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

Да, работает. Нет проблем. Но у меня есть много команд, которые я должен проверять одну за другой. И у меня только два сообщения «успех» и «неудача». Но если я хочу добавить несколько сообщений «каталог успешно удален» или «файл был изменен». как это сделать в одной функции для разных команд? для создания файла «файл был создан», для «удаления», «файл был удален». Есть идеи?

-3
задан 18 March 2017 в 12:16
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"
0
ответ дан 5 December 2019 в 22:02

Теги

Похожие вопросы