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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: вопрос с переменными в shell скрипте  (Прочитано 2357 раз)

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

Оффлайн mixa3607

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: вопрос с переменными в shell скрипте
« Ответ #15 : 03 Августа 2015, 12:10:08 »
Я нашёл в чем проблема хоть и не понял почему так. Сам андроид даже не оболочка(специаоьно bash под андроид нашёл) не хочет в строке с sed обрабатывать неэкранированые слэши. решил это обратными слэшами bash-4.3$ bash 1.sh 'http:\/\/185.38.12.36\/ivs\/50\/57\/dce61578676e.mp4\/hls\/tracks-2,4\/index.m3u8'. в моём понимании в строке где ссылка обрезается по последний слэш аннулируются верхние скобки ,а в sed уже обратные слэши говорят что нужно обычные слеши воспринимать как текст.
Соответственно вопрос как подвести к такому виду ссылку перед передачей её в sed ?
« Последнее редактирование: 03 Августа 2015, 12:13:52 от mixa3607 »

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: вопрос с переменными в shell скрипте
« Ответ #16 : 03 Августа 2015, 12:48:12 »
Команда substitution в sed может воспринимать любой символ как разделитель, из которых наиболее часто используется слэш. Поэтому вариант решения предусматривает замену разделителей другим символом(вместо слэша) чтобы не было ошибочного срабатывания на слэши, которые идут в строке адреса:
Код: (bash) [Выделить]
s!pattern!$var!
s#pattern#$var#
s^pattern^$var^[
…/code]работают аналогично, главное чтоб символ разделителя случайно не попался в самой строке.
« Последнее редактирование: 20 Июня 2019, 06:53:48 от zg_nico »
В Linux можно сделать ВСЁ что угодно, достаточно знать КАК !

 

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