Re: Null в качестве разделителя в скрипте
Спасибо всем ответившим на вопрос. On Thu, 1 Dec 2016 22:20:38 -0500 Tim Sattarovwrote: > Нашёл такой же вопрос, буквально один в один, на стэковерфлоу: > http://stackoverflow.com/questions/8677546/bash-for-in-looping-on-null-delimited-string-variable Я уже видел подобные ответы и потому изначально писал, что знаю как обойти ограничение при помощи while/read или xargs -0. Но я не нашел ответа, почему оно не работает с for. Кстати я как-то заметил, что echo "$(seq 1 10 | tr '\n' '\0')" | hexdump -C вырезает нулевой символ из строки, но почему-то не придал этому факту значения. -- WBR, Andrey Tataranovich
Re: Null в качестве разделителя в скрипте
On 30/11/16 10:25 AM, Andrey Tataranovich wrote: > Доброго времени суток. > > В shell скрипте обрабатывается список в котором в качестве разделителя > используется нулевой символ '\0'. Вроде совместимо с POSIX, но нужное > поведение есть только в zsh. В bash и dash ведет себя неправильно. > > Код --- > IFS=$(printf '\0') > for i in $(seq 1 10 | tr '\n' '\0') > do > echo "i = $i" > done > > Вывод - > zsh /tmp/list.sh > i = 1 > i = 2 > i = 3 > i = 4 > i = 5 > i = 6 > i = 7 > i = 8 > i = 9 > i = 10 > i = > > bash /tmp/list.sh > i = 12345678910 > > dash /tmp/list.sh > i = 12345678910 > > Пробовал различные варианты задания IFS: IFS=; IFS=''; IFS=$'\0'; > IFS=$(echo -en "\0") и т.д., но это не решает проблему. > > Как обойти проблему с помощью того же xargs или while/read я знаю. Меня > интересует почему не работает вариант с for. Подозреваю, что я где-то > заблуждаюсь и потому у меня не работает - может кто-то подскажет в чем > моя ошибка? > Нашёл такой же вопрос, буквально один в один, на стэковерфлоу: http://stackoverflow.com/questions/8677546/bash-for-in-looping-on-null-delimited-string-variable
[DONE] wml://{security/2016/dsa-3728.wml}
-BEGIN PGP SIGNED MESSAGE- Hash: SHA512 - --- english/security/2016/dsa-3728.wml2016-12-01 19:35:31.0 +0500 +++ russian/security/2016/dsa-3728.wml 2016-12-01 23:42:28.939092140 +0500 @@ -1,14 +1,15 @@ - -security update +#use wml::debian::translation-check translation="1.1" maintainer="Lev Lamberov" +обновление безопаÑноÑÑи - -A use-after-free vulnerability in the SVG Animation was discovered in - -the Mozilla Firefox web browser, allowing a remote attacker to cause a - -denial of service (application crash) or execute arbitrary code, if a - -user is tricked into opening a specially crafted website. +Рвеб-бÑаÑзеÑе Mozilla Firefox в коде поддеÑжки анимаÑии SVG бÑло обнаÑÑжено +иÑполÑзование ÑказаÑелей поÑле оÑÐ²Ð¾Ð±Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ð°Ð¼ÑÑи, позволÑÑÑее ÑдалÑÐ½Ð½Ð¾Ð¼Ñ Ð·Ð»Ð¾ÑмÑÑÐ»ÐµÐ½Ð½Ð¸ÐºÑ +вÑзÑваÑÑ Ð¾Ñказ в обÑлÑживании (аваÑÐ¸Ð¹Ð½Ð°Ñ Ð¾ÑÑановка пÑиложениÑ) или вÑполнÑÑÑ Ð¿ÑоизволÑнÑй код в ÑлÑÑае +оÑкÑÑÑÐ¸Ñ ÑпеÑиалÑно ÑÑоÑмиÑованного веб-ÑайÑа. - -For the stable distribution (jessie), this problem has been fixed in - -version 45.5.1esr-1~deb8u1. +Ð ÑÑабилÑном вÑпÑÑке (jessie) ÑÑа пÑоблема бÑла иÑпÑавлена в +веÑÑии 45.5.1esr-1~deb8u1. - -We recommend that you upgrade your firefox-esr packages. +РекомендÑеÑÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ Ð¿Ð°ÐºÐµÑÑ firefox-esr. # do not modify the following line -BEGIN PGP SIGNATURE- iQIzBAEBCgAdFiEE3mumcdV9mwCc9oZQXudu4gIW0qUFAlhAbxoACgkQXudu4gIW 0qXE7A//QSZYjeo6oMOzbJGeEg3ecyhGt3+6MYbnDxqkD3+ZWLU4Mlo818G+cvR2 xNdI0oPke5O67l6SO6y0mYWYbvB953DVacfRQQSeIoNs9/Wh8jMKvJf0hwk8q6VW 7tLIlV4iYktavfvVymRnh3lVis/yyVC0iwsIT8adX1RkLi+7uOKee4hAUMIQXZ5K gSjS3jY528beeOVRZ4K+dWY4AbcQBLQAdUF2tpK0ahsOCfZYcMIZnBtjr8z+5XS8 fEjBc+YKEd8IaZrGUBpzoKE/A06Kb7+PRGELXkbzIKq0FSI/+DVc3vP6t839T1ky ylgBzrOtTzmkNerBvecRmDod4IYJeLTVcKeiemyVd5X4PyHJDSiTla791u4XaD4P 8PEh5A49P1DrOwwoBzosCcmU3r46VVXIQOP8mKIQwJKpkvSXu2eeebGRyjfH7U5I +0lBY+NQDeyGlvizQKp6rG9M42UayNyrQmedZMFvrzAfmWwaPzgwHIldIteQz4y4 DE9UPL/W0oq5YPyT0u77SqNIOTIOABFirZlr/wsTB3grqSYVDuU/yvjdTQZ4UZQT vcVQ0SCNwBdsdBuPjoXxHyH4PrNQFUKrJzHbp9pNfHpsqSHOAHR+bzvAAbxGPSKf 4aOFt77zFCFleqDmYYC0zjql2RQoYdwE8zKvlihOw35sBLERXdA= =510r -END PGP SIGNATURE-
Validation failed
*** Errors validating /srv/www.debian.org/www/international/l10n/po/en_GB.ru.html: *** Line 1294, character 241: "128513" is not a character number in the document character set -- You received this mail for the language code ru. Please edit webwml/english/devel/website/validation.data if this is not accurate Please also update webwml/english/devel/website/ with the new coordinator(s) data
Re: Null в качестве разделителя в скрипте
> Dmitry Alexandrov -> debian-russian@lists.debian.org @ Thu, 01 Dec 2016 > 14:17:22 +0300: > > >> >> >> Заблуждаешься ты в основном в том, что ожидаешь от шеллов > соблюдения > >> >> >> стандартов. В команде zsh на этом изрядно заморочены, в команде > dash - > >> >> >> так себе, они скорее делают свой шелл таким, чтобы то, что он > понимает, > >> >> >> без сюрпризов работало в любом другом шелле, делающем вид, что он > >> >> >> понимает язык /bin/sh. А bash гарантированно не соблюдает POSIX. > >> >> > >> >> > Последнее на первый взгляд звучит как чушь. Можно источник? > >> >> > >> >> bash > >> > >> > И пара примеров, конечно, без труда найдется (в позиксном режиме, > >> > который при запуске за «sh», разумеется)? > >> > >> Сходу нет. Он слишком крив для того, чтобы я им пользовался. Что самое > >> неприятное, ВНЕЗАПНО крив. > > > Ну а на это-то заявление пара примеров найдется сходу? > > Приходите лет на 10 раньше, когда я пытался еще писать на баше и ходил > по этим граблям. > > >> Но в принципе, уже достаточно полистать историю правок к скриптам > >> пакетов в дебиане за период, когда шла волна борьбы за работу скриптов в > >> dash. То и дело всплывала вычистка башизмов из скриптов, начинающихся на > >> #!/bin/sh. > > > Простите, а это здесь каким боком? > > Элементарно, Ватсон. Понимание башем башизма в режиме совместимости с > /bin/sh не является POSIX-совместимым. Потому что не позволяет заменить > /bin/sh на другой POSIX-совместимый для выполнения этого скрипта. Э... Дорогой Холмс, вы всерьез полагаете, что ПОЗИКС предписывает оболочке (или любой другой программе) быть урезанным обрубком? Если да, то как вы это ухитряетесь сочетать с верой в то, что «в команде zsh изрядно заморочены [на стандартах]»?
Re: Null в качестве разделителя в скрипте
Dmitry Alexandrov -> debian-russian@lists.debian.org @ Thu, 01 Dec 2016 14:17:22 +0300: >> >> >> Заблуждаешься ты в основном в том, что ожидаешь от шеллов соблюдения >> >> >> стандартов. В команде zsh на этом изрядно заморочены, в команде >> dash - >> >> >> так себе, они скорее делают свой шелл таким, чтобы то, что он >> понимает, >> >> >> без сюрпризов работало в любом другом шелле, делающем вид, что он >> >> >> понимает язык /bin/sh. А bash гарантированно не соблюдает POSIX. >> >> >> >> > Последнее на первый взгляд звучит как чушь. Можно источник? >> >> >> >> bash >> >> > И пара примеров, конечно, без труда найдется (в позиксном режиме, >> > который при запуске за «sh», разумеется)? >> >> Сходу нет. Он слишком крив для того, чтобы я им пользовался. Что самое >> неприятное, ВНЕЗАПНО крив. > Ну а на это-то заявление пара примеров найдется сходу? Приходите лет на 10 раньше, когда я пытался еще писать на баше и ходил по этим граблям. >> Но в принципе, уже достаточно полистать историю правок к скриптам >> пакетов в дебиане за период, когда шла волна борьбы за работу скриптов в >> dash. То и дело всплывала вычистка башизмов из скриптов, начинающихся на >> #!/bin/sh. > Простите, а это здесь каким боком? Элементарно, Ватсон. Понимание башем башизма в режиме совместимости с /bin/sh не является POSIX-совместимым. Потому что не позволяет заменить /bin/sh на другой POSIX-совместимый для выполнения этого скрипта.
Re: Null в качестве разделителя в скрипте
> >> >> Заблуждаешься ты в основном в том, что ожидаешь от шеллов соблюдения > >> >> стандартов. В команде zsh на этом изрядно заморочены, в команде dash - > >> >> так себе, они скорее делают свой шелл таким, чтобы то, что он > понимает, > >> >> без сюрпризов работало в любом другом шелле, делающем вид, что он > >> >> понимает язык /bin/sh. А bash гарантированно не соблюдает POSIX. > >> > >> > Последнее на первый взгляд звучит как чушь. Можно источник? > >> > >> bash > > > И пара примеров, конечно, без труда найдется (в позиксном режиме, > > который при запуске за «sh», разумеется)? > > Сходу нет. Он слишком крив для того, чтобы я им пользовался. Что самое > неприятное, ВНЕЗАПНО крив. Ну а на это-то заявление пара примеров найдется сходу? > Но в принципе, уже достаточно полистать историю правок к скриптам > пакетов в дебиане за период, когда шла волна борьбы за работу скриптов в > dash. То и дело всплывала вычистка башизмов из скриптов, начинающихся на > #!/bin/sh. Простите, а это здесь каким боком?
Re: Null в качестве разделителя в скрипте
Dmitry Alexandrov -> debian-russian@lists.debian.org @ Thu, 01 Dec 2016 14:01:01 +0300: >> >> Заблуждаешься ты в основном в том, что ожидаешь от шеллов соблюдения >> >> стандартов. В команде zsh на этом изрядно заморочены, в команде dash - >> >> так себе, они скорее делают свой шелл таким, чтобы то, что он понимает, >> >> без сюрпризов работало в любом другом шелле, делающем вид, что он >> >> понимает язык /bin/sh. А bash гарантированно не соблюдает POSIX. >> >> > Последнее на первый взгляд звучит как чушь. Можно источник? >> >> bash > И пара примеров, конечно, без труда найдется (в позиксном режиме, > который при запуске за «sh», разумеется)? Сходу нет. Он слишком крив для того, чтобы я им пользовался. Что самое неприятное, ВНЕЗАПНО крив. Но в принципе, уже достаточно полистать историю правок к скриптам пакетов в дебиане за период, когда шла волна борьбы за работу скриптов в dash. То и дело всплывала вычистка башизмов из скриптов, начинающихся на #!/bin/sh.
Re: Null в качестве разделителя в скрипте
> >> Заблуждаешься ты в основном в том, что ожидаешь от шеллов соблюдения > >> стандартов. В команде zsh на этом изрядно заморочены, в команде dash - > >> так себе, они скорее делают свой шелл таким, чтобы то, что он понимает, > >> без сюрпризов работало в любом другом шелле, делающем вид, что он > >> понимает язык /bin/sh. А bash гарантированно не соблюдает POSIX. > > > Последнее на первый взгляд звучит как чушь. Можно источник? > > bash И пара примеров, конечно, без труда найдется (в позиксном режиме, который при запуске за «sh», разумеется)?
Re: Null в качестве разделителя в скрипте
Dmitry Alexandrov -> debian-russian@lists.debian.org @ Thu, 01 Dec 2016 03:11:10 +0300: >> Заблуждаешься ты в основном в том, что ожидаешь от шеллов соблюдения >> стандартов. В команде zsh на этом изрядно заморочены, в команде dash - >> так себе, они скорее делают свой шелл таким, чтобы то, что он понимает, >> без сюрпризов работало в любом другом шелле, делающем вид, что он >> понимает язык /bin/sh. А bash гарантированно не соблюдает POSIX. > Последнее на первый взгляд звучит как чушь. Можно источник? bash
Re: Null в качестве разделителя в скрипте
30.11.2016 18:25, Andrey Tataranovich пишет: > Доброго времени суток. > > В shell скрипте обрабатывается список в котором в качестве разделителя > используется нулевой символ '\0'. Вроде совместимо с POSIX, но нужное > поведение есть только в zsh. В bash и dash ведет себя неправильно. > > Код --- > IFS=$(printf '\0') > for i in $(seq 1 10 | tr '\n' '\0') > do > echo "i = $i" > done > > Вывод - > zsh /tmp/list.sh > i = 1 > i = 2 > i = 3 > i = 4 > i = 5 > i = 6 > i = 7 > i = 8 > i = 9 > i = 10 > i = > > bash /tmp/list.sh > i = 12345678910 > > dash /tmp/list.sh > i = 12345678910 > > Пробовал различные варианты задания IFS: IFS=; IFS=''; IFS=$'\0'; > IFS=$(echo -en "\0") и т.д., но это не решает проблему. > > Как обойти проблему с помощью того же xargs или while/read я знаю. Меня > интересует почему не работает вариант с for. Подозреваю, что я где-то > заблуждаюсь и потому у меня не работает - может кто-то подскажет в чем > моя ошибка? > Поведение ksh тоже не совпадает с ожиданием. $ cat test_null.sh #!/bin/ksh -x IFS=$(printf '\0') for i in $(seq 1 10 | tr '\n' '\0') do echo "i = $i" done $ ./test_null.sh + printf '\0' + IFS='' + tr '\n' '\0' + seq 1 10 + echo 'i = 1' i = 1 Похоже, всё таки, ожидание не совсем верное.
Re: bluetooth device enumeration
> А можно как-нить уговорить linux запомнить порядок (или имена) bluetooth > устройств? Или убрать из системы лишние устройства? В 2009-м товарищи из linux-blueto...@vger.kernel.org писали, что нет: ,[Re: Renaming hci interfaces with udev] | > I would like to change the default name of bluetooth interfaces (hci0, hci1, ...) | > using udev rules. | > | > While with wlan usb dongles it works with the line: | > KERNEL=="wlan*", NAME="foo0" | > the analogous for the bt: | > KERNEL=="hci*", NAME="foo0" | > doesn't work, while | > KERNEL=="hci*", RUN+="/usr/bin/touch /tmp/foo" | > works. | > | > I'm using kernel 2.6.30.1, udev 125 and bluez 4.46. | | we don't support renaming HCI devices. However feel free to send a | kernel patch to enable it. | | Regards | | Marcel `(https://www.spinics.net/lists/linux-bluetooth/msg02912.html)