Создание сценария оболочки subversion на Centos

У меня есть subversion, установленная на CentOs 6.4 и вы хотите написать сценарий (из моего понимания сценария оболочки), чтобы запустить пару команд. Моя проблема здесь не в написании сценария оболочки, а в большей степени предоставление параметра сценарию оболочки (так что функция в некотором смысле), чтобы иметь возможность выполнить запрос.

В сущности, я хочу сделать следующее:

  1. Запустить скрипт с параметром из SSH ("somscript reponame")
  2. Создать репо: svnadmin create / var / www / svn / reponame
  3. Изменить владельца репо: chown -R apache.apache / var / www / svn / reponame -R
  4. Изменения безопасности: chcon -R -t httpd_sys_content_t / var / www / svn / reponame /
  5. И chcon -R -t httpd_sys_rw_content_r / var / www / svn / reponame
  6. Создание каталогов по умолчанию: svn import -m 'Начальный импорт' / tmp / svn-structure-template / http://domain.com/svn/reponame/ (localhost не принимается с помощью stackoverflow)

Может ли кто-нибудь предложить какое-то руководство или, возможно, предоставить альтернативу, которую я могу использовать? Будет ли работать PHP-скрипт (чтобы запустить его из браузера и использовать какую-либо строку запроса, и это не вызовет некоторые проблемы безопасности, поскольку apache является владельцем по умолчанию, а для некоторых из них может потребоваться доступ root / sudo).

Заранее спасибо!

Как сказал Фаусто в комментарии, стандартные параметры Bash должны работать нормально. В ProjectLocker мы используем скрипты, похожие на то, что вы описываете, чтобы создавать новые репозитории Subversion, и вы должны просто иметь возможность ссылаться на «$ 1», «$ 2» и т. Д. В скрипте.

Кстати, вам не нужно импортировать в место http: //, если вы работаете на машине с экземпляром, если это усложняет ситуацию. Ты можешь сделать:

svn import -m 'Initial import' /tmp/svn-structure-template/ file:///var/www/svn/reponame 

хотя я бы рекомендовал сначала проверить это, чтобы убедиться, что это не приводит к изменению нежелательных разрешений. Если это так, вы можете просто запустить его до разрешения апаса и блокировки.