Я пишу вторую версию моего git-ключа post-receive.Как разбить строку на составные части в Linux Bash/Shell
У меня есть GL_REPO
переменные, которая соответствует:
/project.name/vhost-type/versioncodename
Это может быть или может не иметь завершающий и/или предшествующую косую черту.
Мой текущий код неправильно функцию следующего кода, и в результате он явно дублирует $versioncodename
в каждой переменной:
# regex out project codename
PROJECT_NAME=${GL_REPO##*/}
echo "project codename is: $PROJECT_NAME"
# extract server target vhost-type -fix required
VHOST_TYPE=${GL_REPO##*/}
echo "server target is: $VHOST_TYPE"
# get server project - fix required
PROJECT_CODENAME=${GL_REPO##*/}
echo "server project is: $PROJECT_CODENAME"
Что такое правильный метод для приема этих элементов по одному за раз со спины строки или гарантировать, что строка из трех частей выделяет эти переменные?
Возможно, лучше разбить на массив?
Я собирался ответить именно это. +1. Чисто и просто. – anishsane
@anishsane: thanks :) –
Альтернативно 'IFS =/читать PROJECT_NAME VHOST_TYPE PROJECT_CODENAME <<<« $ GL_REPO »' – anishsane