Узнайте, существует ли команда в системе POSIX

Лучший способ аннотировать назначение ветки в SVN - «Не аннотировать вообще, а давать каждому значимому имени ветки»

Если ваша команда будет следовать «ветке для каждой задачи «В рабочем процессе и будет хорошая система заявок (с интеграцией SVN), вы избежите множества головных болей: просто представьте себе пару

  • билет» # 177 Fix Broken calc.c "
  • ветка Ticket-177

С другой стороны, вы можете использовать любое (строго управляемое политикой) свойство commit , определенное в (строго на основе политики, но я рекомендую сначала зафиксировать / создать / ветви) любой коммит ветви (сначала первый коммит только для облегчения поиска) - читайте о --with-revprop опции коммита

[ 115] Добавление

Если вы по какой-то | причине | не хотите использовать свойства ревизии, но по-прежнему хотите иметь какой-то тип аннотации для пользовательского пути, вы можете использовать SVN file | folder properties , что-то вроде (TBT!)

svn propset description 'Branch for some task' branches/branch1
svn propset description 'Branch for another task' branches/branch2

… (из корня репо, с деревом по умолчанию) для установки свойства и

svn propget description branches/branch1

для получения его позже

16
задан tripleee 3 August 2019 в 07:50
поделиться

3 ответа

команда -v - это указанная POSIX команда, которая делает то, что делает.

Она определена для возвращать> 0, если команда не найдена или возникает ошибка.

22
ответ дан 30 November 2019 в 21:46
поделиться

Вы можете прочитать stdout / stderr из «which» в переменную или массив (используя обратные метки) вместо проверки для кода выхода.

Если в системе нет команды «который» или «где», вы также можете получить содержимое переменной $ PATH, а затем перебрать все каталоги и найти заданный исполняемый файл. Это, по сути, то, что делает (хотя может использовать некоторое кэширование / оптимизацию результатов $ PATH).

0
ответ дан 30 November 2019 в 21:46
поделиться

POSIX говорит: « Если команда не найдено, выходное состояние должно быть 127. »Так что вы можете сделать

<command>
if [ "${?}" = 127 ]; then
   <handle not found>
fi

При написании сценариев оболочки часто допустимо требовать оболочки bash ( #! / bin / bash ), потому что без Массивы практически невозможно правильно обрабатывать аргументы и / или имена файлов с пробелами.

2
ответ дан 30 November 2019 в 21:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: