Я работаю над сценарием Bash, который я хотел бы работать для нескольких типов VCS. Я подумываю проверить, является ли каталог репозиторием для системы, выполнив типичную команду info и проверив код возврата, успех или ошибку. В псевдокоде:
if a svn command succeded;
Then run svn commands
elif a darcs command succeded;
Then run darcs commands
elif a mercurial command succeded;
then run hg commands
else
something else
fi
Я могу запустить команду, например,
darcs show repo
и использовать, $?
чтобы получить код возврата.
У меня вопрос: есть ли удобный способ запустить и вернуть код возврата в одной строке? например
if [ 0 -eq `darcs show repo`$? ];
Или я должен определить функцию?
Дополнительным требованием является печать как stderr, так и stdout.