Я пытаюсь записать рычаг постфиксации для SVN, который размещается на нашем сервере разработки. Моя цель состоит в том, чтобы попробовать к автоматически контролю копию переданного проекта к каталогу, где это размещается на сервере. Однако я должен смочь к только для чтения, который последний каталог в строке каталога передал сценарию, чтобы к контролю к тому же подкаталогу, где наши проекты размещаются.
Например, если я заставляю SVN согласиться на "пример" проекта, мой сценарий получает "/usr/local/svn/repos/example" как свой первый аргумент. Я должен получить просто "пример" от конца строки и затем concat это с другой строкой, таким образом, я могу контроль к "/server/root/example" и видеть, что изменения сразу живут.
basename
удаляет префикс каталога пути:
$ basename /usr/local/svn/repos/example
example
$ echo "/server/root/$(basename /usr/local/svn/repos/example)"
/server/root/example
Bash может получить последнюю часть пути без необходимости вызывать внешнее базовое имя
:
subdir="/path/to/whatever/${1##*/}"