Сбой, если diff найден (c-shell) - PullRequest
3 голосов
/ 19 октября 2010

Пожалуйста, не поддавайтесь желанию сказать мне не использовать c-shell.

Я пишу скрипт c-shell и мне нужно запустить diff между двумя файлами (сгенерированными в скрипте).Как мне запустить diff и вернуть его статус (если он потерпит неудачу, вернуть 1, иначе 0)?

1 Ответ

3 голосов
/ 19 октября 2010

В оболочке C вы можете использовать переменную $status для получения статуса завершения команды.

% echo 'hi' > foo
% echo 'ho' > bar
% diff foo foo
% echo $status
0
% diff foo bar > /dev/null
% echo $status
1

В скрипте вы можете сделать что-то вроде:

set f1=foo
set f2=bar
diff $f1 $f2 > /dev/null                   
if ($status == 0) then
        echo 'no diff'
else
        echo 'diff'
endif
...