Как мне получить код выхода команды через внешний внешний терминал

Я использую этот код для генератора проекта cpp (/newt/cpp содержит main.cpp и CMakeLists.txt). Предполагается, что общий метод вызывается без вывода сообщений при нажатии F5 и предназначен только для компиляции и запуска программы, но только если компиляция прошла успешно. Но проблема в том, что urxvt не наследует код выхода выполняемой команды, поэтому я не могу сказать, была ли команда успешной или нет. Итак, вот мой вопрос: как я могу запустить команду во внешней оболочке и выяснить код выхода?

function SetupCPP()
    !cp -a ~/.config/nvim/src/newt/cpp/. .
    e main.cpp
    function! GenericRun()
        call system("urxvt -e sh -c \"cmake . \"") 
        if v:shell_error != 0
            return
        endif

        call system("urxvt -e sh -c \"make . || read && false\"") 
        if v:shell_error != 0
            return
        endif

        call system("urxvt -e './main'")

    endfunction
endfunction

person user2741831    schedule 17.07.2019    source источник
comment
stackoverflow.com/search?q=%5Bxterm%5D+exit+code   -  person phd    schedule 17.07.2019
comment
@phd, да, извините, не догадался просто поискать xterm   -  person user2741831    schedule 17.07.2019