Я працюю над сценарієм 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.