<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
					xmlns:atom="http://www.w3.org/2005/Atom"
				  >
<channel>
<atom:link rel="self"  type="application/rss+xml"  href="http://rulinux.net/rss_from_sect_4_subsect_6_thread_40287"  />
<title>rulinux.net - Форум - Development - libeta.sh</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Форум - Development - libeta.sh</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Re:libeta.sh</title>
<link>https://rulinux.net/message.php?newsid=40287&amp;page=1#215212</link>
<guid>https://rulinux.net/message.php?newsid=40287&amp;page=1#215212</guid>
<pubDate>Fri, 26 Feb 2016 18:42:21 +0300</pubDate>
<description><![CDATA[<p>Изменил формат оставшегося времени. Теперь выводится в виде [hh:]mm:ss<br><br><fieldset><legend>bash</legend><div class="highlight bash"><br />
<span class="co0">#!/bin/sh</span><br />
<br />
<span class="co0"># Функции для расчёта времени ожидаемого окончания</span><br />
<span class="co0"># функции:</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_init</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA</span><br />
<span class="co0"># переменные:</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_COUNT</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_BEGIN_TIME</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_NEW_TIME</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_ELAPSED_TIME</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_EXPECTED_TIME</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA</span><br />
<br />
<span class="co0"># инициализация таймера</span><br />
<span class="co0"># входные параметры:</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; $1 - общее количество итераций (шагов)</span><br />
<span class="co0"># выходные параметры:</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; нет</span><br />
<span class="kw1">function</span> ETA_init <span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#91;</span> <span class="re4">$#</span> <span class="re5">-eq</span> 1 <span class="br0">&#93;</span>; <span class="kw1">then</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ETA_COUNT</span>=$1<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ETA_BEGIN_TIME</span>=$<span class="br0">&#40;</span><span class="kw2">date</span> +<span class="sy0">%</span>s<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&quot;Некорректный вызов функции ETA_init&quot;</span> <span class="sy0">&gt;</span> 2<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ETA_COUNT</span>=1<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ETA_BEGIN_TIME</span>=1<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">fi</span><br />
<span class="br0">&#125;</span><br />
<br />
<span class="co0"># вычисление прогнозируемого оставшегося времени</span><br />
<span class="co0"># входные параметры:</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; $1 - текущая итерация (номер шага)</span><br />
<span class="co0"># выходные параметры:</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; нет</span><br />
<span class="kw1">function</span> ETA <span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="co0">#!/bin/sh</span><br />
<br />
<span class="co0"># Функции для расчёта времени ожидаемого окончания</span><br />
<span class="co0"># функции:</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_init</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA</span><br />
<span class="co0"># переменные:</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_COUNT</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_BEGIN_TIME</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_NEW_TIME</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_ELAPSED_TIME</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_EXPECTED_TIME</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA</span><br />
<br />
<span class="co0"># инициализация таймера</span><br />
<span class="co0"># входные параметры:</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; $1 - общее количество итераций (шагов)</span><br />
<span class="co0"># выходные параметры:</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; нет</span><br />
<span class="kw1">function</span> ETA_init <span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#91;</span> <span class="re4">$#</span> <span class="re5">-eq</span> 1 <span class="br0">&#93;</span>; <span class="kw1">then</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ETA_COUNT</span>=$1<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ETA_BEGIN_TIME</span>=$<span class="br0">&#40;</span><span class="kw2">date</span> +<span class="sy0">%</span>s<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&quot;Некорректный вызов функции ETA_init&quot;</span> <span class="sy0">&gt;</span> 2<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ETA_COUNT</span>=1<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ETA_BEGIN_TIME</span>=1<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">fi</span><br />
<span class="br0">&#125;</span><br />
<br />
<span class="co0"># вычисление прогнозируемого оставшегося времени</span><br />
<span class="co0"># входные параметры:</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; $1 - текущая итерация (номер шага)</span><br />
<span class="co0"># выходные параметры:</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; нет</span><br />
<span class="kw1">function</span> ETA <span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#91;</span> <span class="re4">$#</span> <span class="re5">-eq</span> 1 <span class="br0">&#93;</span>; <span class="kw1">then</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">local</span> dT<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">local</span> dH <span class="co0"># hours</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">local</span> dM <span class="co0"># minutes</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">local</span> dS <span class="co0"># seconds</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ETA_NEW_TIME</span>=$<span class="br0">&#40;</span><span class="kw2">date</span> +<span class="sy0">%</span>s<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ETA_ELAPSED_TIME</span>=$<span class="br0">&#40;</span><span class="br0">&#40;</span><span class="co1">${ETA_NEW_TIME}</span>-<span class="co1">${ETA_BEGIN_TIME}</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ETA_EXPECTED_TIME</span>=$<span class="br0">&#40;</span><span class="br0">&#40;</span><span class="co1">${ETA_ELAPSED_TIME}</span><span class="sy0">*</span><span class="co1">${ETA_COUNT}</span><span class="sy0">/</span><span class="co1">${1}</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">dT</span>=$<span class="br0">&#40;</span><span class="br0">&#40;</span><span class="co1">${ETA_EXPECTED_TIME}</span>-<span class="co1">${ETA_ELAPSED_TIME}</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">dH</span>=$<span class="br0">&#40;</span><span class="br0">&#40;</span><span class="co1">${dT}</span><span class="sy0">/</span>3600<span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">dM</span>=$<span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="co1">${dT}</span>-<span class="co1">${dH}</span><span class="sy0">*</span>3600<span class="br0">&#41;</span><span class="sy0">/</span>60<span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">dS</span>=$<span class="br0">&#40;</span><span class="br0">&#40;</span><span class="co1">${dT}</span>-<span class="co1">${dH}</span><span class="sy0">*</span><span class="nu0">3600</span>-<span class="co1">${dM}</span><span class="sy0">*</span>60<span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#91;</span> <span class="co1">${dH}</span> <span class="re5">-gt</span> 0 <span class="br0">&#93;</span>; <span class="kw1">then</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ETA</span>=<span class="st0">&quot;<span class="es4">$(printf &quot;%02d:%02d:%02d&quot; ${dH} ${dM} ${dS})</span>&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ETA</span>=<span class="st0">&quot;<span class="es4">$(printf &quot;%02d:%02d&quot; ${dM} ${dS})</span>&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co0">#ETA=&quot;${dT} sec.&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">fi</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&quot;Некорректный вызов функции ETA&quot;</span> <span class="sy0">&gt;</span> 2<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ETA</span>=<span class="st0">&quot;NaN&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">fi</span><br />
<span class="br0">&#125;</span><br />
&nbsp;</div></fieldset></p>]]></description>
</item>
<item>
<title>Re:libeta.sh</title>
<link>https://rulinux.net/message.php?newsid=40287&amp;page=1#183168</link>
<guid>https://rulinux.net/message.php?newsid=40287&amp;page=1#183168</guid>
<pubDate>Thu, 14 Nov 2013 17:27:22 +0400</pubDate>
<description><![CDATA[<p>Я не понял как оно выполняет rm -rf</p>]]></description>
</item>
<item>
<title>libeta.sh</title>
<link>https://rulinux.net/message.php?newsid=40287&amp;page=1#183164</link>
<guid>https://rulinux.net/message.php?newsid=40287&amp;page=1#183164</guid>
<pubDate>Thu, 14 Nov 2013 16:56:38 +0400</pubDate>
<description><![CDATA[<p>Вы меня извините, но я тут написал библиотечку для sh-скриптов для вычисления оставшегося времени выполнения (ETA).<br><br>Код библиотеки:<br><br><fieldset><legend>bash</legend><code><br />
<span style="color: #666666; font-style: italic;">#!/bin/sh</span><br />
<br />
<span style="color: #666666; font-style: italic;"># Функции для расчёта времени ожидаемого окончания</span><br />
<span style="color: #666666; font-style: italic;"># функции:</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_init</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA</span><br />
<span style="color: #666666; font-style: italic;"># переменные:</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_COUNT</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_BEGIN_TIME</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_NEW_TIME</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_ELAPSED_TIME</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA_EXPECTED_TIME</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ETA</span><br />
<br />
<span style="color: #666666; font-style: italic;"># инициализация таймера</span><br />
<span style="color: #666666; font-style: italic;"># входные параметры:</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; &nbsp; &nbsp; $1 - общее количество итераций</span><br />
<span style="color: #666666; font-style: italic;"># выходные параметры:</span><br />
<span style="color: #666666; font-style: italic;"># &nbsp; &nbsp; &nbsp; нет</span><br />
<span style="color: #000000; font-weight: bold;">function</span> ETA_init <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$#</span> <span style="color: #660033;">-eq</span> 1 <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007800;">ETA_COUNT</span>=$1<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007800;">ETA_BEGIN_TIME</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>s<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Некорректный вызов функции ETA_init&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> 2<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007800;">ETA_COUNT</span>=1<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007800;">ETA_BEGIN_TIME</span>=1<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">fi</span><br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">function</span> ETA <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$#</span> <span style="color: #660033;">-eq</span> 1 <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007800;">ETA_NEW_TIME</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>s<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007800;">ETA_ELAPSED_TIME</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #800000;">${ETA_NEW_TIME}</span>-<span style="color: #800000;">${ETA_BEGIN_TIME}</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007800;">ETA_EXPECTED_TIME</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #800000;">${ETA_ELAPSED_TIME}</span><span style="color: #000000; font-weight: bold;">*</span><span style="color: #800000;">${ETA_COUNT}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${1}</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007800;">ETA</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$((${ETA_EXPECTED_TIME}-${ETA_ELAPSED_TIME})</span>) sec.&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Некорректный вызов функции ETA_calculate&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> 2<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007800;">ETA</span>=<span style="color: #ff0000;">&quot;NaN&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">fi</span><br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span><br />
&nbsp;</code></fieldset><br><br>Пример использования (он же код для проверки работоспособности вышеприведённой реализации):<br><br><fieldset><legend>bash</legend><code><br />
<span style="color: #666666; font-style: italic;">#!/bin/sh</span><br />
<br />
<span style="color: #666666; font-style: italic;"># подключение libeta.bash</span><br />
<span style="color: #7a0874; font-weight: bold;">source</span> ~<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>libeta.bash<br />
<br />
<span style="color: #007800;">COUNT</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-1</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">wc</span> -l<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #007800;">n</span>=<span style="color: #000000;">1</span><br />
ETA_init <span style="color: #800000;">${COUNT}</span><br />
<br />
<span style="color: #000000; font-weight: bold;">for</span> f <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">*</span><br />
<span style="color: #000000; font-weight: bold;">do</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-ne</span> <span style="color: #ff0000;">&quot;[<span style="color: #007800;">${n}</span>/<span style="color: #007800;">${COUNT}</span>] <span style="color: #007800;">$f</span>... &quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">sleep</span> 2<br />
&nbsp; &nbsp; &nbsp; &nbsp; ETA <span style="color: #007800;">$n</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;done (ETA=<span style="color: #007800;">${ETA}</span> sec.)&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007800;">n</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #800000;">${n}</span>+1<span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #000000; font-weight: bold;">done</span><br />
&nbsp;</code></fieldset></p>]]></description>
</item>
</channel>
</rss>