<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Бесконечный цикл в SH</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/8156.html</link>
    <description>Задание такое:&lt;br&gt;Написать бесконечный цикл, который будет раз в секунду выводить постоянно увеличивающееся число (1, 2, 3, 4 ...). &lt;br&gt;&lt;br&gt;вот что я наваял&lt;br&gt;&lt;br&gt;#!/bin/sh&lt;br&gt;i=1&lt;br&gt;while true&lt;br&gt;do&lt;br&gt;echo $1, sleep 1&lt;br&gt;i = &apos;expr $1+1&apos;&lt;br&gt;done&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Укажите ошибки, и если это возможно в каком направлении двигацо... этот ли оператор цикла оптимален для этой задачи?&lt;br&gt;Заранее спасибо. &lt;br&gt;&lt;br&gt;З.Ы: ногами пролшу сильно не пинать.. перывае 2 часа сижу за sh...&lt;br&gt;</description>

<item>
    <title>Бесконечный цикл в SH (n0mad)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/8156.html#15</link>
    <pubDate>Wed, 30 Jun 2010 19:54:58 GMT</pubDate>
    <description>&amp;gt;Считаем сколько ошибок в сообщении, при таком отношении и в скрипте будет &lt;br&gt;&amp;gt;тоже самое. &lt;br&gt;&amp;gt;Без проверки и нечего даже мечтать о работоспособности. &lt;br&gt;&amp;gt;VMWare легко ставится, также легко можно и небольшую Линукс OS поставить. &lt;br&gt;&lt;br&gt;Нафиг эти вари.... есть coLinux - дешево и сердито...&lt;br&gt;</description>
</item>

<item>
    <title>конечный цикл в SH (0dmin)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/8156.html#14</link>
    <pubDate>Tue, 17 Mar 2009 18:04:03 GMT</pubDate>
    <description>&amp;gt;Ну да, вдруг там вместо /bin/sh бейсик :) &lt;br&gt;&amp;gt;А вообще судя по http://www.freebsd.org/cgi/man.cgi?query=sh&amp;format=html $((expr)) это не башизм. &lt;br&gt;&lt;br&gt;Дык вроде Андрей не о $((expression)) говорил а о ((++i)) ... а оно башизм МАХРОВЫЙ :)&lt;br&gt;&lt;br&gt;Вот это скопипасть в баш - работает, в позикс шелл - нет:&lt;br&gt;while((++i)); do echo $i; sleep 1; done&lt;br&gt;&lt;br&gt;А чтобы заработало надо синтакс-шугар-фэйс-ДЕсургери сотворить:&lt;br&gt;i=0;while i=$(($i+1)); do echo $i; sleep 1; done&lt;br&gt;&lt;br&gt;Как то так.&lt;br&gt;</description>
</item>

<item>
    <title>конченый цикл в SH (Andrey Mitrofanov)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/8156.html#13</link>
    <pubDate>Tue, 17 Mar 2009 13:04:45 GMT</pubDate>
    <description>&amp;gt;Ну да, вдруг там вместо /bin/sh бейсик :)&lt;br&gt;&lt;br&gt;И он тоже умеет быть позикс шеллом??! P)&lt;br&gt;&lt;br&gt;&amp;gt;А вообще судя по &lt;br&gt;&amp;gt;$((expr)) это не башизм.&lt;br&gt;&lt;br&gt;Ну, наверное, я в dash и tcsh как-то не так ;/ пробовал, и надо было пойти и поставить pdksh, и зря поленился.&lt;br&gt;</description>
</item>

<item>
    <title>конечный цикл в SH (vic)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/8156.html#12</link>
    <pubDate>Tue, 17 Mar 2009 12:42:12 GMT</pubDate>
    <description>while ((++i)) &amp;&amp; echo $i &amp;&amp; sleep 1; do continue; done &lt;br&gt;&lt;br&gt;зы: главное чтобы попкорна хватило до холодца вселенной :)&lt;br&gt;</description>
</item>

<item>
    <title>конечный цикл в SH (angra)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/8156.html#11</link>
    <pubDate>Tue, 17 Mar 2009 12:40:26 GMT</pubDate>
    <description>Ну да, вдруг там вместо /bin/sh бейсик :)&lt;br&gt;А вообще судя по http://www.freebsd.org/cgi/man.cgi?query=sh&amp;format=html $((expr)) это не башизм.&lt;br&gt;</description>
</item>

<item>
    <title>конечный цикл в SH (Andrey Mitrofanov)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/8156.html#10</link>
    <pubDate>Tue, 17 Mar 2009 12:29:27 GMT</pubDate>
    <description>&amp;gt;Ну так и в начальном скрипте expr это ни разу не часть &lt;br&gt;&amp;gt;шелла и его стоило бы заменить на $(($i+1)) :) &lt;br&gt;&lt;br&gt;А вдруг оно не совместимо с _его_ /bin/sh? В-) А с /bin/sh его препода -- так вообще &quot;фиаско&quot;...&lt;br&gt;&lt;br&gt;Вот ещё башизм:&lt;br&gt;$ while((++i)); do echo $i; sleep 1; done&lt;br&gt;1&lt;br&gt;2&lt;br&gt;3&lt;br&gt;4&lt;br&gt;5&lt;br&gt;^C&lt;br&gt;$ _&lt;br&gt;Корректное :) завершение про Ctrl+C и переполнению - прилагаются.&lt;br&gt;&lt;br&gt;Кстати, ближе к Смерти Вселенной вариант с bc станет &quot;врать&quot;: выполнение read может занимать /заметно/ больше секунды... Когда и/или если +1 в bc начнёт тормозить. :D&lt;br&gt;&lt;br&gt;PS: Гм, $) астрофизики в зале есть?&lt;br&gt;$ i=$((2**63-3+2**63)); while((++i)); do echo $i; done&amp;#124;time head -5&lt;br&gt;-2&lt;br&gt;-1&lt;br&gt;0.00user 0.00system 0:00.00elapsed 133&#037;CPU (0avgtext+0avgdata 0maxresident)k&lt;br&gt;0inputs+0outputs (0major+223minor)pagefaults 0swaps&lt;br&gt;$ _&lt;br&gt;</description>
</item>

<item>
    <title>Бесконечный цикл в SH (angra)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/8156.html#9</link>
    <pubDate>Tue, 17 Mar 2009 12:08:16 GMT</pubDate>
    <description>Ну так и в начальном скрипте expr это ни разу не часть шелла и его стоило бы заменить на $(($i+1)) :)&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Бесконечный цикл в SH (const86)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/8156.html#8</link>
    <pubDate>Tue, 17 Mar 2009 08:50:11 GMT</pubDate>
    <description>&amp;gt;&amp;gt;этот цикл может быть только псевдо-бесконечным ))&lt;br&gt;&amp;gt;&amp;gt;ибо данные (переменная) имеют ограниченную разрядность )) &lt;br&gt;&amp;gt;И да, решение несколько за рамками &quot;постановки&quot; - bc не часть шела... Где-то тут кто-то писал арифметику на шеле? Или там тоже bc был?.. &lt;br&gt;&lt;br&gt;Да всё равно упрётся в размер доступной памяти... Не судьба бесконечно единицу прибавлять :(&lt;br&gt;</description>
</item>

<item>
    <title>Бесконечный цикл в SH (Pahanivo)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/8156.html#7</link>
    <pubDate>Tue, 17 Mar 2009 07:52:36 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;И да, решение несколько за рамками &quot;постановки&quot; - bc не часть шела... &lt;br&gt;&amp;gt;Где-то тут кто-то писал арифметику на шеле? Или там тоже bc &lt;br&gt;&amp;gt;был?.. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;С другой стороны по одной секунде много-то и не надо: уних-тайм с &lt;br&gt;&amp;gt;70-го года не переполнился ешё. &#037;) &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;ЗЫ: Задача: дождаться тепловой смерти Вселенной, выводя i+1 раз в секунду... На &lt;br&gt;&amp;gt;шеле, конечно же! ;) &lt;br&gt;&lt;br&gt; ))) еще на два слишним раза (учитавая текущие колво сек эпохи) хватит 32-битного счетчика )))&lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
