Каков наилучший способ написать функцию-обертку, которая запускает команды и регистрирует их код выхода

В настоящее время я использую эту функцию для переноса выполнения команд и регистрации их выполнения, а также кода возврата и выхода в случае ненулевого кода возврата.

Однако это проблематично, так как, по-видимому, он выполняет двойную интерполяцию, заставляя команды с одинарными или двойными кавычками разбивать скрипт.

Можете ли вы порекомендовать лучший способ?

Вот функция:

do_cmd()
{
    eval $*
    if [[ $? -eq 0 ]]
    then
        echo "Successfully ran [ $1 ]"
    else
        echo "Error: Command [ $1 ] returned $?"
        exit $?
    fi
}

Ответы на вопрос(2)

Ваш ответ на вопрос