<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Раздел полезных советов: Специфичные особенности удаления элементов массивов в Bash</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/123742.html</link>
    <description>В руководствах Bash упоминается, что команда &quot;unset name&#091;N&#093;&quot; выполняет удаление элемента массива, например:&lt;br&gt;&lt;br&gt;https://www.gnu.org/software/bash/manual/html_node/Arrays.html#Arrays&lt;br&gt;&lt;br&gt;   The unset builtin is used to destroy arrays. &lt;br&gt;   unset name&#091;subscript&#093; destroys the array element at index subscript.&lt;br&gt;&lt;br&gt;https://tldp.org/LDP/abs/html/arrays.html&lt;br&gt;&lt;br&gt;   unset colors&#091;1&#093;              # Remove 2nd element of array.&lt;br&gt;&lt;br&gt;https://www.opennet.ru/docs/RUS/bash_scripting_guide/c12790.html&lt;br&gt;&lt;br&gt;   unset colors&#091;1&#093;              # Удаление 2-го элемента массива.&lt;br&gt;&lt;br&gt;Данное описание не соответствует действительности, так как элемент массива для корректного удаления необходимо заключить в кавычки &apos;..&apos;&lt;br&gt;&lt;br&gt;Для конкретного примера:&lt;br&gt;&lt;br&gt;   unset &apos;colors&#091;1&#093;&apos;&lt;br&gt;&lt;br&gt;Если не использовать кавычки, то bash попытается сделать расширение имени и заменит &quot;unset colors&#091;1&#093;&quot; на &quot;unset colors1&quot;. Проверить это можно выполнив:&lt;br&gt;&lt;br&gt;   &amp;gt; touch colors1&lt;br&gt;   &amp;gt; bash example_25_3.sh&lt;br&gt;&lt;br&gt;&lt;br&gt;URL: &lt;br&gt;Обсуждается: http://www.opennet.ru/tips/info/3177.shtml&lt;br&gt;</description>

<item>
    <title>Специфичные особенности удаления элементов массивов в Bash (ммнюмнюмус)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/123742.html#35</link>
    <pubDate>Wed, 26 May 2021 18:10:41 GMT</pubDate>
    <description>&amp;gt; зочем ? на баше скрипты ни пишут, только sh &lt;br&gt;&lt;br&gt;pulseaudio-ctl, bashmount, imgurbash2&lt;br&gt;</description>
</item>

<item>
    <title>Специфичные особенности удаления элементов массивов в Bash (ммнюмнюмус)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/123742.html#34</link>
    <pubDate>Wed, 26 May 2021 08:47:37 GMT</pubDate>
    <description>bash &quot;&#091;&#064;&#093;:1:1&quot; - даже гугл такого не знает&lt;br&gt;</description>
</item>

<item>
    <title>Специфичные особенности удаления элементов массивов в Bash (ммнюмнюмус)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/123742.html#33</link>
    <pubDate>Wed, 26 May 2021 08:38:09 GMT</pubDate>
    <description>&amp;gt; в БАШЕ к элементам лучше обращаться по индексам: unset $&#123;array&#091;&#064;&#093;:1:1&#125; &lt;br&gt;&lt;br&gt;А вот это уже черезжопа. &quot;Как в мире возможно&quot;, чтобы _нормальное_ обращение по инжексу было моветоном?&lt;br&gt;</description>
</item>

<item>
    <title>Специфичные особенности удаления элементов массивов в Bash (ммнюмнюмус)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/123742.html#32</link>
    <pubDate>Wed, 26 May 2021 07:02:15 GMT</pubDate>
    <description>И ещё, к сожалению, писать без башизмов почти невозможно, если у вас bash по дефолту и вы пользуетесь &quot;info bash&quot;. Потому что некоторые из башизмов занесены в раздел Basic Shell Features - brace expansion, process substitution (должно быть в Bash Features). А опция --posix только отключает POSIX-несовместимости, поддержка расширений никуда не девается.&lt;br&gt;&lt;br&gt;Единственный вариант писать без них - тестировать на dash, руководствуясь man dash.&lt;br&gt;Ну или вот сам стандарт: https://pubs.opengroup.org/onlinepubs/9699919799/toc.htm&lt;br&gt;Он же: https://standards.ieee.org/standard/1003_1-2017.html&lt;br&gt;</description>
</item>

<item>
    <title>Специфичные особенности удаления элементов массивов в Bash (ммнюмнюмус)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/123742.html#31</link>
    <pubDate>Wed, 26 May 2021 06:41:08 GMT</pubDate>
    <description>Для утюгов - только dash, и это при условии, что для coreutils есть место. Иначе busybox.&lt;br&gt;</description>
</item>

<item>
    <title>Специфичные особенности удаления элементов массивов в Bash (ммнюмнюмус)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/123742.html#30</link>
    <pubDate>Tue, 25 May 2021 13:30:45 GMT</pubDate>
    <description>Собственно пример. Не скажу что работает как часы - у меня только на одном компе нормально.&lt;br&gt;https://unixforum.org/viewtopic.php?f=12&amp;t=150895&lt;br&gt;</description>
</item>

<item>
    <title>Специфичные особенности удаления элементов массивов в Bash (ммнюмнюмус)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/123742.html#29</link>
    <pubDate>Tue, 25 May 2021 13:21:00 GMT</pubDate>
    <description>Умные перекладывают всё, что можно, на awk, sed, numfmt и т.д., оставляя оболочке только установку конвеера.&lt;br&gt;</description>
</item>

<item>
    <title>Специфичные особенности удаления элементов массивов в Bash (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/123742.html#28</link>
    <pubDate>Tue, 20 Apr 2021 11:46:36 GMT</pubDate>
    <description>Хотя пофиг, интересен тайный смысл &quot;удаление элемента массива&quot;? Где профит? &lt;br&gt;&lt;br&gt;Проход по массиву пока есть элементы тоже бред, с лишней операцией удаления.&lt;br&gt;&lt;br&gt;Как хранилище нужных данных? Так почему не проверять на нужность &lt;br&gt;перед добавлением в массив, а не удалять после?&lt;br&gt;&lt;br&gt;Во время выполнения скрипта память не освобождается, это не ассемблер.&lt;br&gt;</description>
</item>

<item>
    <title>Специфичные особенности удаления элементов массивов в Bash (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/123742.html#27</link>
    <pubDate>Tue, 20 Apr 2021 11:27:06 GMT</pubDate>
    <description>Во-первых, что за такая операция &quot;удаление элемента массива&quot;? Сам придумал? &lt;br&gt;&lt;br&gt;&lt;br&gt;Во-вторых, доступ к элементам массива в БАШЕ осуществляется через ... &lt;br&gt;вот так: unset $&#123;colors&#091;1&#093;&#125;, более того, это тоже моветон,&lt;br&gt;в БАШЕ к элементам лучше обращаться по индексам: unset $&#123;array&#091;&#064;&#093;:1:1&#125;&lt;br&gt;&lt;br&gt;&lt;br&gt;unset colors&#091;1&#093; удаляет значение переменной с именем colors&#091;1&#093; &lt;br&gt;</description>
</item>

</channel>
</rss>
