Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
640KB мне хватило на всё.
119 / 50 / 3
Регистрация: 07.06.2009
Сообщений: 442

Подстановка строк с обратными слешами

18.03.2015, 01:34. Показов 1776. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В реальном коде скриптов сайта обнаружил проблему - серии слешей типа \\\\\\\\\\ уменьшаются до одного.
Попытался смоделировать в оболочке и нифига не пойму, почему
Bash
1
echo $(echo \\\\)
выводит два слеша?
А на сайте CGI скрипты сворачивают до одного слеша и ломают страницы с данными при вводе этих символов.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.03.2015, 01:34
Ответы с готовыми решениями:

Подстановка строк в регулярное выражение
ab=`sed -n "/^$1 \(\{1,7\} \{,7\}\)/{ s//\1/p ; q }" < ${Temp}I` -работает правильно, если $1 содержит обычные (не-специальные) символы. ...

Как передать в функцию строку с одинарными обратными слешами
Приветствую народ. Что то я в недоумении, раньше такого точно не было. А проблема в следующем. Имеется строка print(s) ...

Json от javascript приходи со слешами
Через POST приходит строка {"2":{"im":"353539061765459","date":"2017-08-30 14:02:30"}} как такую строку обработать? И эти слеши...

6
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
19.03.2015, 00:33
Про экранирование слышали? "Обратный слэш + обычный символ выводится как просто символ". Используйте одинарные кавычки.
0
640KB мне хватило на всё.
119 / 50 / 3
Регистрация: 07.06.2009
Сообщений: 442
19.03.2015, 05:16  [ТС]
Во-первых, речь не о выводе константной строки, а о подстановке.
Во-вторых, пример кода должен "по логике" печатать один слеш.
В третьих, я использую dash, и в нём подстановка работает несколько иначе.

Т.к. вся эта бодяга нужна для сайта, то решил переводом слешей в \

Но логику всё равно не понял. Буду благодарен за разжёвывание.

Добавлено через 6 минут
Кстати, у разработчиков форума тоже подобный напряг - если "& # 92;" набрать без проблелов, то выведет слеш.
0
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
19.03.2015, 08:44
Bash
1
2
3
4
5
6
$ echo \\\\
\\
$ echo $(echo \\\\)
\\
$ echo `echo \\\\`
\
Насколько я понимаю, во втором случае выводится значение переменной.
Bash
1
2
3
$ a='\\\\'
$ echo $a
\\\\
PS. GNU bash, version 4.3.30(1)-release (x86_64-pc-linux-gnu)
1
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
19.03.2015, 13:31
Достаточно
Bash
1
echo '\\\\'
0
640KB мне хватило на всё.
119 / 50 / 3
Регистрация: 07.06.2009
Сообщений: 442
20.03.2015, 03:11  [ТС]
gng, спасибо.
Оказывается, в Bash'е ещё одна подлянка есть. Там, где читал, было написано про эквивалентность конструкций `...` и $(...)

В общем, всем спасибо, разобрался.

Кому интересно, обращаю внимание на echo - в dash'е команда работает существенно иначе, чем в bash. В echo Bash'а есть ключи -e и -E, соответственно интерпретировать/не-интерпретировать escape'ы, и по умолчанию backslash'ы не-интерпретируются. А в dash'е ключей нет и любая подстановка приводит к обработке слешей.

Карроче - бардак в *NIX'ах
0
22.03.2015, 21:31

Не по теме:

Цитата Сообщение от skvor Посмотреть сообщение
Карроче - бардак в *NIX'ах
Сударь, я возражу - бардак в голове вашей.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.03.2015, 21:31
Помогаю со студенческими работами здесь

Удалить текст между последними слешами
Прошу помочь составить регулярку для удаления текста между последними слешами / с захватом одного слеша Пример:...

После mysqli_real_escape_string(), код портится слешами!
Здравствуйте! У меня есть textarea-форма, я принимаю её значение методом POST и перед записью в БД, делаю mysqli_real_escape_string(),...

Считать числа со строки, разделенные слешами
Здравствуйте. подскажите как красиво считать числовые данные со строк "35//275" но возможен такой вариан ...

Подстановка, зависимые ячейки, подстановка по условию
Доброго времени суток. Предисловие! Можно не читать. Около недели назад начал разрабатывать решение для того чтобы упорядочить...

Должен ли json от javascript и других источников приходить со слешами?
Ловлю json строку но она экранирована слешами: {\"2\":{\"imei\":\"143539551765457\",\"date\":\"2017-08-30 14:02:30\"}} Как удалить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
[В процессе разработки] SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru