Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Конструкция ${namevar+:} что делает?  (Прочитано 502 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Electricity

  • Автор темы
  • Активист
  • *
  • Сообщений: 250
    • Просмотр профиля
Конструкция ${namevar+:} что делает?
« : 30 Августа 2015, 07:47:34 »
Здравствуйте.

PATH="/home/dex/.perl5/bin${PATH+:}${PATH}"; export PATH;
Если можно, ссылочку
Kubuntu 18.04 amd64, Qt: 5.9.5, KDE Frameworks: 5.44.0, plasmashell 5.12.7, корпус чёрный, клава белая

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4069
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Конструкция ${namevar+:} что делает?
« Ответ #1 : 30 Августа 2015, 10:07:51 »
Electricity, ищем по переменные bash. Что делает "+:" я не знаю.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Конструкция ${namevar+:} что делает?
« Ответ #2 : 30 Августа 2015, 13:04:32 »
${var:+OTHER}   If var set, evaluate expression as $OTHER, otherwise as null string
Если переменная объявлена и не пустая(отличие «:+» от «+») то меняет её значение на то, что указано после двоеточия, если нет — то выдает пустую строку. Обычно используется для набора строки из нескольких элементов с каким-то разделителем в цикле (имеется ввиду, что первый элемент не должен начинаться с разделителя, а все остальные должны)
Код: (bash) [Выделить]
ELEM_SET=${ELEM_SET+${ELEM_SET}/}"$NEW_ELEM"}В вашем примере после строки /home/dex/.perl5/bin добавляет двоеточие и предыдущее содержимое переменной PATH, а если переменная пустая, то не добавляет двоеточие.
« Последнее редактирование: 30 Августа 2015, 13:24:25 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

 

Страница сгенерирована за 0.068 секунд. Запросов: 25.