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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

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

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.015 секунд. Запросов: 20.