Разбиение пути на имя файла [закрыто]

Просто загрузите ISO-образ Centos с этого индексного сайтаhttp://ftp.heanet.ie/pub/centos/7/isos/x86_64/ и выберите CentOS-7. -x86_64-Everything-1611.iso размером 7,7 ГБ (если он у вас есть, пропустите этот шаг).

затем смонтируйте его в Virtualbox (двойной щелчок на компакт-диске VB, перейдите к местоположению ISO и выберите его)

затем создайте файл в /etc/yum.repoс именем myrepo. репо

Аналогично следующим шагам:

vim /etc/yum.repos.d/myrepo.repo

введите внутри файла следующее: -

[myRepo]

name=Cdrom Repository

baseurl=file:///cdrom

gpgcheck=0

enabled=1

сохранить и выйти из него.

Затем создайте точку монтирования и подключите к ней компакт-диск:

mkdir /cdrom

mount /dev/cdrom /cdrom

Последнее, что нужно сделать, — отключить репозиторий Centos по умолчанию, добавив enable=0. Как показано ниже:

vim /etc/yum.repo.d/Centos-Base

enter image description here

И теперь у вас есть локальный репозиторий на вашем компьютере (проверьте его с помощью yum repolist)

1
14.08.2018, 17:58
2 ответа
if [[ $PWD =~ '^(/cygdrive/[abd-z])(.*)' ]]; then
  head=$match[1]
  tail=$match[2]
fi

То же самое с шариками:

set -o extendedglob
if [[ $PWD = (#b)(/cygdrive/[abd-z])(*) ]]; then
  head=$match[1]
  tail=$match[2]
fi

У глобусов также есть преимущество использования собственного сопоставления шаблонов zsh, где d-zсоответствует только defghijklmnopqrstuvwxyz, а =~будет использовать регулярные выражения вашей системы, где [d-z]вполне может совпадать со многими другими символами. (как éили даже последовательности символов как dzsв венгерских локалях ). Выполнение set -o rematchpcreприведет к тому, что =~будет использовать PCRE, что более разумно в этом отношении.

Не совпадать по/cygdrive/foo:

if [[ $PWD =~ '^(/cygdrive/[abd-z])(/.*)?$' ]]; then
  head=$match[1]
  tail=$match[2]
fi

С шариками:

set -o extendedglob
if [[ $PWD = (#b)(/cygdrive/[abd-z])(/*|) ]]; then
  head=$match[1]
  tail=$match[2]
fi
5
27.01.2020, 23:12

Поскольку вы уже знаете, как получить суффикс вашей переменной, вы можете удалить его из переменной, чтобы получить префикс:

if [[ $PWD == /cygdrive/[abd-z] ]]
then
  local tail=${PWD#/cygdrive/?}
  local head=${PWD%%$tail}
 ....
fi

Что касается условия, вы можете использовать регулярные выражения в Zsh:

if [[ $PWD =~ '^/cygdrive/[abd-z](/.*)?$' ]]
then
    tail=${PWD#/cygdrive/?}
    head=${PWD%%$tail}

    echo "head is $head"
    echo "tail is $tail"
else
    echo "no match"
fi
2
27.01.2020, 23:12

Теги

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