Сохраните имя функции в переменной - PullRequest
0 голосов
/ 03 июня 2019

Я пытался сохранить имя функции в переменной, но только имя.

doReturn() {

    if [ $? -eq 0 ]; then
        /bin/echo -e " \e[1;31mOk!\e[0m"
    else
        /bin/echo -e " \e[1;31mFAIL!\e[0m"
        $? = fail
        echo $fail

        exit 1;
    fi
}

Я бы хотел, чтобы doReturn сделал if или что-то в этом роде, чтобы сказать: «программа закончилась здесь». Я не знаю, играю ли я, чтобы стать Богом или что-то в этом роде

Я пробовал с sed и $ ?, но ничего

doReturn() {

    if [ $? -eq 0 ]; then
        /bin/echo -e " \e[1;31mOk!\e[0m"
    else
        /bin/echo -e " \e[1;31mFAIL!\e[0m"
        $? = fail
        echo $fail

        exit 1;
    fi
}

Я ничего не пробовал с седом. Это сводит меня с ума.

1 Ответ

0 голосов
/ 03 июня 2019

С man bash:

Первому элементу переменной FUNCNAME присваивается имя функции во время ее выполнения.

Так что если переносимостьне имеет значения, что вы можете использовать ${FUNCNAME[0]}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...