<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: задание имён масовов в цыкле</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8494.html</link>
    <description>Столкнлся с интерестной особенность назначения имён массивам в цыкле.&lt;br&gt;&lt;br&gt;while &#091; &quot;$a&quot; -le &quot;$colu&quot; &#093;&lt;br&gt;do&lt;br&gt;tmp$&#123;a&#125;=(&#096;awk &apos;/Check File System occupancy/,/Check inodes of file system/ &#123;print substr($5,1,4)&#125;&apos; $SX* &amp;#124; awk &apos;/capa/,/^$/&apos; &amp;#124; sed &apos;s/capa/morning/g&apos; &amp;#124; tr &apos;&#092;n&apos; &apos; &apos;&#096;)&lt;br&gt;done&lt;br&gt;&lt;br&gt;На что плучаю:&lt;br&gt;./disk_load.sh: line 15: syntax error near unexpected token &#096;&#096;awk &apos;/Check File System occupancy/,/Check inodes of file system/ &#123;print substr($5,1,4)&#125;&apos; $SX* &amp;#124; awk &apos;/capa/,/^$/&apos; &amp;#124; sed &apos;s/capa/morning/g&apos; &amp;#124; tr &apos;&#092;n&apos; &apos; &apos;&#096;&apos;&lt;br&gt;./disk_load.sh: line 15: &#096;tmp$&#123;a&#125;=(&#096;awk &apos;/Check File System occupancy/,/Check inodes of file system/ &#123;print substr($5,1,4)&#125;&apos; $SX* &amp;#124; awk &apos;/capa/,/^$/&apos; &amp;#124; sed &apos;s/capa/morning/g&apos; &amp;#124; tr &apos;&#092;n&apos; &apos; &apos;&#096;)&apos;&lt;br&gt;&lt;br&gt;Я обошел это следующим образом:&lt;br&gt;tmp=&#096;awk &apos;/Check File System occupancy/,/Check inodes of file system/ &#123;print substr($5,1,4)&#125;&apos; $SX* &amp;#124; awk &apos;/capa/,/^$/&apos; &amp;#124; sed &apos;s/capa/morning/g&apos;&#096;&lt;br&gt;case $a in&lt;br&gt;1)  arr1=( &#096;echo $tmp&#096;) ;;&lt;br&gt;2)  arr2=( &#096;echo $tmp&#096;) ;;&lt;br&gt;3)  arr3=( &#096;ec</description>

<item>
    <title>в защиту eval в perl (angra)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8494.html#12</link>
    <pubDate>Thu, 05 Nov 2009 14:18:14 GMT</pubDate>
    <description>Простите, вы кого тут решили просветить?&lt;br&gt;</description>
</item>

<item>
    <title>в защиту eval в perl (Иван)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8494.html#11</link>
    <pubDate>Wed, 04 Nov 2009 13:39:03 GMT</pubDate>
    <description>&amp;gt;любители перловки догадываются про возможность его применения наравне со всякими перлоненавистниками.&lt;br&gt;&lt;br&gt;Бывает исполнение обычных строк кода приводит к аварийному завершению, если что-то идет не так: возникает деление на ноль, ошибочное применение шаблона, недостаточно прав для операций с файлом, ошибка внутри подпрограммы и пр.&lt;br&gt;eval решает эту проблему. Если внутри блока eval произойдет ошибка, управление будет передано строке, следующей сразу же за блоком eval.&lt;br&gt;Первоисточники: документация, Randal L.Schwartz &quot;Intermediate Perl&quot;.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>задание имён масовов в цыкле (Andrey Mitrofanov)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8494.html#10</link>
    <pubDate>Thu, 29 Oct 2009 11:15:56 GMT</pubDate>
    <description>&amp;gt;Перловоды просто не понимают зачем вообще так извращаться.&lt;br&gt;&lt;br&gt;Умищем окружающих -- пуга-а-ать. :)))&lt;br&gt;&lt;br&gt;&amp;gt;любители перловки догадываются про возможность его применения наравне со всякими перлоненавистниками. &lt;br&gt;&lt;br&gt;Скучный он какой-то? То ли дело &quot;примитивный&quot; шел: есть возможность сделать то, чего никто бы и не подумал... :) ...&quot;место подвигу!&quot; &#037;)&lt;br&gt;&lt;br&gt;&amp;gt;это типа задачек на олимпиадах - неплохая гимнастика для ума&lt;br&gt;&amp;gt;, но в 99&#037; ненужно на практике :) &lt;br&gt;&lt;br&gt;Ну, довести использование/знание инструмента до предела, понять и узнать эти пределы, а потом эти ограничения преодолеть... Проце-е-ес! :)&lt;br&gt;&lt;br&gt;Вспоминается, например, sed-индентер http:/openforum/vsluhforumID9/7801.html . Оказывается можно и на sed-е, хотя в итоге совершенно (почти) нечитаемо и медленнее, чем на пер^W(упс)awk-е.&lt;br&gt;&lt;br&gt;Задачка &quot;chmod -x chmod&quot; -- тоже там где-то. Установить ограничения -- применить инструмент, не имеющий оных. http:/openforum/vsluhforumID1/83651.html&lt;br&gt;&lt;br&gt;И кстати, довести инструмент до предела, установить ограничения -- вернуться к выбору &#091;п</description>
</item>

<item>
    <title>задание имён масовов в цыкле (nastr)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8494.html#9</link>
    <pubDate>Thu, 29 Oct 2009 10:19:57 GMT</pubDate>
    <description>&amp;gt;Кстати, особые ненавистники перла ещё и http:/openforum/vsluhforumID9/8262.html#5 for-ы заменяют eval-ами. Правда, если &lt;br&gt;&amp;gt;...а перловоды -- просто завидуют! ;-D&lt;br&gt;&lt;br&gt;Остановился на таком варианте:&lt;br&gt;for (( a = 0; a &amp;lt;= rows; a++ ))&lt;br&gt;do&lt;br&gt;echo -en &quot;&#096;echo $&#123;Filesystem&#091;$a&#093;&#125; &amp;#124; awk &apos;&#123;printf(&quot;&#037;24s&quot;,$0); print &quot; &quot;&#125;&apos;&#096;&quot;&lt;br&gt;for (( b = 0; b &amp;lt;= colu; b++ ))&lt;br&gt;do&lt;br&gt;eval &quot;echo -en &#092;&quot;&#092;$&#123;arr$b&#091;$a&#093;&#125;        &#092;&quot;&quot;&lt;br&gt;done&lt;br&gt;echo&lt;br&gt;done&lt;br&gt;&lt;br&gt;Спасибо большое за помощь!&lt;br&gt;Остаюсь сторонником шела!:)&lt;br&gt;</description>
</item>

<item>
    <title>задание имён масовов в цыкле (angra)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8494.html#8</link>
    <pubDate>Thu, 29 Oct 2009 09:53:59 GMT</pubDate>
    <description>Перловоды просто не понимают зачем вообще так извращаться. Кстати в перле eval тоже присутствует(хотя вместо хешей используется только извращенцами и обфускаторами) так что любители перловки догадываются про возможность его применения наравне со всякими перлоненавистниками. &lt;br&gt;А вообще &quot;сделать все на чистом шелле&quot; это типа задачек на олимпиадах - неплохая гимнастика для ума, но в 99&#037; ненужно на практике :)&lt;br&gt;</description>
</item>

<item>
    <title>задание имён масовов в цыкле (Andrey Mitrofanov)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8494.html#7</link>
    <pubDate>Thu, 29 Oct 2009 09:37:04 GMT</pubDate>
    <description>&amp;gt;Спасиба большое, ты мне очень помог! Сам бы я никогда не додумался использовать eval.:) &lt;br&gt;&lt;br&gt;Пожалуйста. :) Никто б не догадался -- только самые упёртые избегатели перла.&lt;br&gt;&lt;br&gt;&amp;gt;Есть ещё один схожый вопрос. &lt;br&gt;&amp;gt;Для дальнейшей обработки массивов я использовал схожую с предидущей конструкцию, но здесь &lt;br&gt;&amp;gt;eval не подходит..:(&lt;br&gt;&lt;br&gt;Да, ладно! ;)&lt;br&gt;&lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;while &#091; &quot;$b&quot; -le &quot;$colu&quot; &#093; &lt;br&gt;&amp;gt;do &lt;br&gt;&amp;gt;case $b in &lt;br&gt;&amp;gt;0)  echo -en &quot;$&#123;arr0&#091;$a&#093;&#125;        &lt;br&gt;&amp;gt;let b=b+1 &lt;br&gt;&amp;gt;done &lt;br&gt;&amp;gt;echo &lt;br&gt;&amp;gt;b=0 &lt;br&gt;&amp;gt;let a=a+1 &lt;br&gt;&amp;gt;done &lt;br&gt;&lt;br&gt;for((a=0;a&amp;lt;rows;a++)); do&lt;br&gt;  for((b=0;b&amp;lt;colu;b++)); do&lt;br&gt;    eval &quot;echo -en &#092;&quot;&#092;$&#123;arr$a&#091;$b&#093;&#125;            &#092;&quot;&quot;&lt;br&gt;    done&lt;br&gt;  echo&lt;br&gt;  done&lt;br&gt;&lt;br&gt;&amp;gt;Не подскажешь как в такой конструкции правильно указать имя масива в цыкле? &lt;br&gt;&lt;br&gt;Единственно &quot;правильного&quot; способа нет: их много, работает - и ладно.&lt;br&gt;&lt;br&gt;Кстати, особые ненавистники перла ещё и http:/openforum/vsluhforumID9/8262.html#5 for-ы заменяют eval-ами. Правда, если результат чуть больше среднего -- может и &quot;не влезть&quot;.&lt;br&gt;&lt;br&gt;#!/bin/bash&lt;br&gt;&lt;br&gt;# UNO:&lt;br&gt;a=0&lt;br&gt;N=5&lt;br&gt;arr0=(one two tree</description>
</item>

<item>
    <title>задание имён масовов в цыкле (nastr)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8494.html#6</link>
    <pubDate>Thu, 29 Oct 2009 08:18:31 GMT</pubDate>
    <description>&amp;gt;&amp;gt;1)  arr1=( &#096;echo $tmp&#096;) ;; &lt;br&gt;&amp;gt;Ну, во-перрвых, =($tmp) &lt;br&gt;&amp;gt;А во-вторых, &lt;br&gt;&amp;gt;if (( a&amp;gt;0 &amp;&amp; a&amp;lt;N )); then&lt;br&gt;&amp;gt;  eval &quot;arr$a=($tmp)&quot; &lt;br&gt;&amp;gt;else &lt;br&gt;&amp;gt;  echo ERROR &lt;br&gt;&amp;gt;fi &lt;br&gt;&lt;br&gt;Спасиба большое, ты мне очень помог! Сам бы я никогда не додумался использовать eval.:)&lt;br&gt;Есть ещё один схожый вопрос.&lt;br&gt;Для дальнейшей обработки массивов я использовал схожую с предидущей конструкцию, но здесь eval не подходит..:(&lt;br&gt;&lt;br&gt;a=0; b=0&lt;br&gt;while &#091; &quot;$a&quot; -le &quot;$rows&quot; &#093;&lt;br&gt;do&lt;br&gt;while &#091; &quot;$b&quot; -le &quot;$colu&quot; &#093;&lt;br&gt;do&lt;br&gt;case $b in&lt;br&gt;0)  echo -en &quot;$&#123;arr0&#091;$a&#093;&#125;        &quot; ;;&lt;br&gt;1)  echo -en &quot;$&#123;arr1&#091;$a&#093;&#125;        &quot; ;;&lt;br&gt;2)  echo -en &quot;$&#123;arr2&#091;$a&#093;&#125;        &quot; ;;&lt;br&gt;3)  echo -en &quot;$&#123;arr3&#091;$a&#093;&#125;        &quot; ;;&lt;br&gt;4)  echo -en &quot;$&#123;arr4&#091;$a&#093;&#125;        &quot; ;;&lt;br&gt;5)  echo -en &quot;$&#123;arr5&#091;$a&#093;&#125;        &quot; ;;&lt;br&gt;...&lt;br&gt;*)  echo ERROR ;;&lt;br&gt;esac&lt;br&gt;let b=b+1&lt;br&gt;done&lt;br&gt;echo&lt;br&gt;b=0&lt;br&gt;let a=a+1&lt;br&gt;done&lt;br&gt;&lt;br&gt;Если пишу так:&lt;br&gt;echo -en &quot;$&#123;arr&quot;&#123;b&#125;&quot;&#091;$a&#093;&#125;        &quot;&lt;br&gt;то получаю:&lt;br&gt;./disk_load.sh: line 32: $&#123;arr&#096;echo $b&#096;&#091;$a&#093;&#125;            : bad substitution&lt;br&gt;./disk_load.sh: line 32: $&#123;&#096;eval &quot;arr$b&quot;&#096;&#091;$a&#093;&#125;          : bad substitution&lt;br&gt;./disk_load.</description>
</item>

<item>
    <title>задание имён масовов в цыкле (Andrey Mitrofanov)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8494.html#5</link>
    <pubDate>Thu, 29 Oct 2009 07:15:24 GMT</pubDate>
    <description>&amp;gt;1)  arr1=( &#096;echo $tmp&#096;) ;; &lt;br&gt;&lt;br&gt;Ну, во-перрвых, =($tmp)&lt;br&gt;&lt;br&gt;&amp;gt;2)  arr2=( &#096;echo $tmp&#096;) ;; &lt;br&gt;&amp;gt;3)  arr3=( &#096;echo $tmp&#096;) ;; &lt;br&gt;&amp;gt;4)  arr4=( &#096;echo $tmp&#096;) ;; &lt;br&gt;&amp;gt;5)  arr5=( &#096;echo $tmp&#096;) ;; &lt;br&gt;&amp;gt;... &lt;br&gt;&amp;gt;*)  echo ERROR ;; &lt;br&gt;&amp;gt;esac &lt;br&gt;&lt;br&gt;А во-вторых,&lt;br&gt;if (( a&amp;gt;0 &amp;&amp; a&amp;lt;N )); then&lt;br&gt;  eval &quot;arr$a=($tmp)&quot;&lt;br&gt;else&lt;br&gt;  echo ERROR&lt;br&gt;fi&lt;br&gt;&lt;br&gt;&amp;gt;Может кто подскажит, как можно првильно задать имя массиву в цыкле? &lt;br&gt;&lt;br&gt;Тут нам с тобой уже подсказали, что _всё_ это неправильно... &#037;)&lt;br&gt;</description>
</item>

<item>
    <title>задание имён масовов в цыкле (nastr)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8494.html#4</link>
    <pubDate>Thu, 29 Oct 2009 07:07:29 GMT</pubDate>
    <description>&amp;gt;&amp;gt;+1 &lt;br&gt;&amp;gt;&amp;gt;Чем учить особенности шеллов, awk, grep, sed лучше один раз выучить perl, &lt;br&gt;&amp;gt;&amp;gt;тем более что на уровне достаточном для сисадмина на это уйдет &lt;br&gt;&amp;gt;&amp;gt;от силы пару дней. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;у того кто вмеру натрахался с шелами на это уйдет пол дня &lt;br&gt;&amp;gt;) &lt;br&gt;&amp;gt;ЗЫ &lt;br&gt;&amp;gt;лучшие шеловоды России рекомендуют! &lt;br&gt;&lt;br&gt;Очень дельный совет... Может после это скрипта и засяду за перл, но пока хочу дописать этот как есть на шеле!&lt;br&gt;И я так пнимаю ни у кого по делу совета нету?&lt;br&gt;</description>
</item>

</channel>
</rss>
