2015-07-22 3 views
1

У меня есть сценарий оболочки, выполняющий скрипт python. В случае ненулевого кода выхода мне бы хотелось выйти из текущего скрипта csh. Пример кода ниже в сценарии csh, похоже, не работает.Выйти из сценария csh на основе предыдущего кода ошибки

./pythonfile.py 
if $? != 0 then 
    echo 'Something went wrong!' $? 
    exit 1 
endif 

ответ

2

Большинство csh версии фактически tcsh. В tcsh, оба$? и $status должны работать. Глядя на файл Fixes, кажется, это было в случае с 1992 года ...

Проблема в коде, является то, что if оператор переопределяет значение из $status/$? переменных; вам нужно использовать промежуточную переменную для хранения кода выхода.

false 
set code = $? 
if $code != 0 then 
    echo 'Something went wrong! ' $code 
    exit 1 
endif