summaryrefslogtreecommitdiff
path: root/gemfeed/2023-12-10-bash-golf-part-3.html
diff options
context:
space:
mode:
Diffstat (limited to 'gemfeed/2023-12-10-bash-golf-part-3.html')
-rw-r--r--gemfeed/2023-12-10-bash-golf-part-3.html238
1 files changed, 119 insertions, 119 deletions
diff --git a/gemfeed/2023-12-10-bash-golf-part-3.html b/gemfeed/2023-12-10-bash-golf-part-3.html
index 538806b6..08801198 100644
--- a/gemfeed/2023-12-10-bash-golf-part-3.html
+++ b/gemfeed/2023-12-10-bash-golf-part-3.html
@@ -55,24 +55,24 @@ jgs^^^^^^^`^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><i><font color="#ababab">#!/usr/bin/env bash</font></i>
+<pre><i><font color="#00ff00">#!/usr/bin/env bash</font></i>
-<font color="#7bc710">log ()</font><font color="#ff0000"> {</font>
-<font color="#ff0000"> </font><b><font color="#ffffff">local</font></b><font color="#ff0000"> -r </font><font color="#ff0000">level</font><font color="#F3E651">=</font><font color="#bb00ff">"$1"</font><font color="#F3E651">;</font><font color="#ff0000"> </font><b><font color="#ffffff">shift</font></b>
-<font color="#ff0000"> </font><b><font color="#ffffff">local</font></b><font color="#ff0000"> -r </font><font color="#ff0000">message</font><font color="#F3E651">=</font><font color="#bb00ff">"$1"</font><font color="#F3E651">;</font><font color="#ff0000"> </font><b><font color="#ffffff">shift</font></b>
-<font color="#ff0000"> </font><b><font color="#ffffff">local</font></b><font color="#ff0000"> -i </font><font color="#ff0000">pid</font><font color="#F3E651">=</font><font color="#bb00ff">"$$"</font>
+<b><font color="#ffffff">log ()</font></b><font color="#ffffff"> {</font>
+<font color="#ffffff"> </font><b><font color="#00ffff">local</font></b><font color="#ffffff"> -r </font><font color="#ffffff">level</font><b><font color="#ee5896">=</font></b><font color="#cd00ff">"$1"</font><b><font color="#ee5896">;</font></b><font color="#ffffff"> </font><b><font color="#00ffff">shift</font></b>
+<font color="#ffffff"> </font><b><font color="#00ffff">local</font></b><font color="#ffffff"> -r </font><font color="#ffffff">message</font><b><font color="#ee5896">=</font></b><font color="#cd00ff">"$1"</font><b><font color="#ee5896">;</font></b><font color="#ffffff"> </font><b><font color="#00ffff">shift</font></b>
+<font color="#ffffff"> </font><b><font color="#00ffff">local</font></b><font color="#ffffff"> -i </font><font color="#ffffff">pid</font><b><font color="#ee5896">=</font></b><font color="#cd00ff">"$$"</font>
-<font color="#ff0000"> </font><b><font color="#ffffff">local</font></b><font color="#ff0000"> -r </font><font color="#ff0000">callee</font><font color="#F3E651">=</font><font color="#ff0000">${FUNCNAME[1]}</font>
-<font color="#ff0000"> </font><b><font color="#ffffff">local</font></b><font color="#ff0000"> -r </font><font color="#ff0000">stamp</font><font color="#F3E651">=</font><font color="#ff0000">$(</font><font color="#ff0000">date </font><font color="#F3E651">+%</font><font color="#ff0000">Y</font><font color="#F3E651">%</font><font color="#ff0000">m</font><font color="#F3E651">%</font><font color="#ff0000">d-</font><font color="#F3E651">%</font><font color="#ff0000">H</font><font color="#F3E651">%</font><font color="#ff0000">M</font><font color="#F3E651">%</font><font color="#ff0000">S</font><font color="#F3E651">)</font>
+<font color="#ffffff"> </font><b><font color="#00ffff">local</font></b><font color="#ffffff"> -r </font><font color="#ffffff">callee</font><b><font color="#ee5896">=</font></b><font color="#ffffff">${FUNCNAME[1]}</font>
+<font color="#ffffff"> </font><b><font color="#00ffff">local</font></b><font color="#ffffff"> -r </font><font color="#ffffff">stamp</font><b><font color="#ee5896">=</font></b><font color="#ffffff">$(</font><font color="#ffffff">date </font><b><font color="#ee5896">+%</font></b><font color="#ffffff">Y</font><b><font color="#ee5896">%</font></b><font color="#ffffff">m</font><b><font color="#ee5896">%</font></b><font color="#ffffff">d-</font><b><font color="#ee5896">%</font></b><font color="#ffffff">H</font><b><font color="#ee5896">%</font></b><font color="#ffffff">M</font><b><font color="#ee5896">%</font></b><font color="#ffffff">S</font><b><font color="#ee5896">)</font></b>
-<font color="#ff0000"> echo </font><font color="#bb00ff">"$level|$stamp|$pid|$callee|$message"</font><font color="#ff0000"> </font><font color="#F3E651">&gt;&amp;</font><font color="#bb00ff">2</font>
-<font color="#ff0000">}</font>
+<font color="#ffffff"> echo </font><font color="#cd00ff">"$level|$stamp|$pid|$callee|$message"</font><font color="#ffffff"> </font><b><font color="#ee5896">&gt;&amp;</font></b><font color="#ff00ff">2</font>
+<font color="#ffffff">}</font>
-<font color="#7bc710">at_home_friday_evening ()</font><font color="#ff0000"> {</font>
-<font color="#ff0000"> log INFO </font><font color="#bb00ff">'One Peperoni Pizza, please'</font>
-<font color="#ff0000">}</font>
+<b><font color="#ffffff">at_home_friday_evening ()</font></b><font color="#ffffff"> {</font>
+<font color="#ffffff"> log INFO </font><font color="#cd00ff">'One Peperoni Pizza, please'</font>
+<font color="#ffffff">}</font>
-<font color="#ff0000">at_home_friday_evening</font>
+<font color="#ffffff">at_home_friday_evening</font>
</pre>
<br />
<span>The output is as follows:</span><br />
@@ -81,8 +81,8 @@ http://www.gnu.org/software/src-highlite -->
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><font color="#ff0000">❯ </font><font color="#F3E651">.</font><font color="#ff0000">/logexample</font><font color="#F3E651">.</font><font color="#ff0000">sh</font>
-<font color="#ff0000">INFO</font><font color="#F3E651">|</font><font color="#bb00ff">20231210</font><font color="#ff0000">-</font><font color="#bb00ff">082732</font><font color="#F3E651">|</font><font color="#bb00ff">123002</font><font color="#F3E651">|</font><font color="#ff0000">at_home_friday_evening</font><font color="#F3E651">|</font><font color="#ff0000">One Peperoni Pizza</font><font color="#F3E651">,</font><font color="#ff0000"> please</font>
+<pre><font color="#ffffff">❯ </font><b><font color="#ee5896">.</font></b><font color="#ffffff">/logexample</font><b><font color="#ee5896">.</font></b><font color="#ffffff">sh</font>
+<font color="#ffffff">INFO</font><b><font color="#ee5896">|</font></b><font color="#ff00ff">20231210</font><font color="#ffffff">-</font><font color="#ff00ff">082732</font><b><font color="#ee5896">|</font></b><font color="#ff00ff">123002</font><b><font color="#ee5896">|</font></b><font color="#ffffff">at_home_friday_evening</font><b><font color="#ee5896">|</font></b><font color="#ffffff">One Peperoni Pizza</font><b><font color="#ee5896">,</font></b><font color="#ffffff"> please</font>
</pre>
<br />
<h2 style='display: inline' id='--'><span class='inlinecode'>:(){ :|:&amp; };:</span></h2><br />
@@ -116,18 +116,18 @@ http://www.gnu.org/software/src-highlite -->
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><i><font color="#ababab">#!/usr/bin/env bash</font></i>
-
-<font color="#7bc710">outer()</font><font color="#ff0000"> {</font>
-<font color="#ff0000"> </font><font color="#7bc710">inner()</font><font color="#ff0000"> {</font>
-<font color="#ff0000"> echo </font><font color="#bb00ff">'Intel inside!'</font>
-<font color="#ff0000"> }</font>
-<font color="#ff0000"> inner</font>
-<font color="#ff0000">}</font>
-
-<font color="#ff0000">inner</font>
-<font color="#ff0000">outer</font>
-<font color="#ff0000">inner</font>
+<pre><i><font color="#00ff00">#!/usr/bin/env bash</font></i>
+
+<b><font color="#ffffff">outer()</font></b><font color="#ffffff"> {</font>
+<font color="#ffffff"> </font><b><font color="#ffffff">inner()</font></b><font color="#ffffff"> {</font>
+<font color="#ffffff"> echo </font><font color="#cd00ff">'Intel inside!'</font>
+<font color="#ffffff"> }</font>
+<font color="#ffffff"> inner</font>
+<font color="#ffffff">}</font>
+
+<font color="#ffffff">inner</font>
+<font color="#ffffff">outer</font>
+<font color="#ffffff">inner</font>
</pre>
<br />
<span>And let&#39;s execute it:</span><br />
@@ -145,26 +145,26 @@ Intel inside!
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><i><font color="#ababab">#!/usr/bin/env bash</font></i>
-
-<font color="#7bc710">outer1()</font><font color="#ff0000"> {</font>
-<font color="#ff0000"> </font><font color="#7bc710">inner()</font><font color="#ff0000"> {</font>
-<font color="#ff0000"> echo </font><font color="#bb00ff">'Intel inside!'</font>
-<font color="#ff0000"> }</font>
-<font color="#ff0000"> inner</font>
-<font color="#ff0000">}</font>
-
-<font color="#7bc710">outer2()</font><font color="#ff0000"> {</font>
-<font color="#ff0000"> </font><font color="#7bc710">inner()</font><font color="#ff0000"> {</font>
-<font color="#ff0000"> echo </font><font color="#bb00ff">'Wintel inside!'</font>
-<font color="#ff0000"> }</font>
-<font color="#ff0000"> inner</font>
-<font color="#ff0000">}</font>
-
-<font color="#ff0000">outer1</font>
-<font color="#ff0000">inner</font>
-<font color="#ff0000">outer2</font>
-<font color="#ff0000">inner</font>
+<pre><i><font color="#00ff00">#!/usr/bin/env bash</font></i>
+
+<b><font color="#ffffff">outer1()</font></b><font color="#ffffff"> {</font>
+<font color="#ffffff"> </font><b><font color="#ffffff">inner()</font></b><font color="#ffffff"> {</font>
+<font color="#ffffff"> echo </font><font color="#cd00ff">'Intel inside!'</font>
+<font color="#ffffff"> }</font>
+<font color="#ffffff"> inner</font>
+<font color="#ffffff">}</font>
+
+<b><font color="#ffffff">outer2()</font></b><font color="#ffffff"> {</font>
+<font color="#ffffff"> </font><b><font color="#ffffff">inner()</font></b><font color="#ffffff"> {</font>
+<font color="#ffffff"> echo </font><font color="#cd00ff">'Wintel inside!'</font>
+<font color="#ffffff"> }</font>
+<font color="#ffffff"> inner</font>
+<font color="#ffffff">}</font>
+
+<font color="#ffffff">outer1</font>
+<font color="#ffffff">inner</font>
+<font color="#ffffff">outer2</font>
+<font color="#ffffff">inner</font>
</pre>
<br />
<span>And let&#39;s run it:</span><br />
@@ -185,14 +185,14 @@ Wintel inside!
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><i><font color="#ababab">#!/usr/bin/env bash</font></i>
+<pre><i><font color="#00ff00">#!/usr/bin/env bash</font></i>
-<font color="#7bc710">some_expensive_operations()</font><font color="#ff0000"> {</font>
-<font color="#ff0000"> echo </font><font color="#bb00ff">"Doing expensive operations with '$1' from pid $$"</font>
-<font color="#ff0000">}</font>
+<b><font color="#ffffff">some_expensive_operations()</font></b><font color="#ffffff"> {</font>
+<font color="#ffffff"> echo </font><font color="#cd00ff">"Doing expensive operations with '$1' from pid $$"</font>
+<font color="#ffffff">}</font>
-<b><font color="#ffffff">for</font></b><font color="#ff0000"> i </font><b><font color="#ffffff">in</font></b><font color="#ff0000"> {</font><font color="#bb00ff">0</font><font color="#F3E651">..</font><font color="#bb00ff">9</font><font color="#ff0000">}</font><font color="#F3E651">;</font><font color="#ff0000"> </font><b><font color="#ffffff">do</font></b><font color="#ff0000"> echo </font><font color="#ff0000">$i</font><font color="#F3E651">;</font><font color="#ff0000"> </font><b><font color="#ffffff">done</font></b><font color="#ff0000"> </font><font color="#F3E651">\</font>
-<font color="#ff0000"> </font><font color="#F3E651">|</font><font color="#ff0000"> xargs -P</font><font color="#bb00ff">10</font><font color="#ff0000"> -I{} bash -c </font><font color="#bb00ff">'some_expensive_operations "{}"'</font>
+<b><font color="#00ffff">for</font></b><font color="#ffffff"> i </font><b><font color="#00ffff">in</font></b><font color="#ffffff"> {</font><font color="#ff00ff">0</font><b><font color="#ee5896">..</font></b><font color="#ff00ff">9</font><font color="#ffffff">}</font><b><font color="#ee5896">;</font></b><font color="#ffffff"> </font><b><font color="#00ffff">do</font></b><font color="#ffffff"> echo </font><font color="#ffffff">$i</font><b><font color="#ee5896">;</font></b><font color="#ffffff"> </font><b><font color="#00ffff">done</font></b><font color="#ffffff"> </font><b><font color="#ee5896">\</font></b>
+<font color="#ffffff"> </font><b><font color="#ee5896">|</font></b><font color="#ffffff"> xargs -P</font><font color="#ff00ff">10</font><font color="#ffffff"> -I{} bash -c </font><font color="#cd00ff">'some_expensive_operations "{}"'</font>
</pre>
<br />
<span>We try here to run ten parallel processes; each of them should run the <span class='inlinecode'>some_expensive_operations</span> function with a different argument. The arguments are provided to <span class='inlinecode'>xargs</span> through <span class='inlinecode'>STDIN</span> one per line. When executed, we get this:</span><br />
@@ -217,15 +217,15 @@ bash: line 1: some_expensive_operations: command not found
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><i><font color="#ababab">#!/usr/bin/env bash</font></i>
+<pre><i><font color="#00ff00">#!/usr/bin/env bash</font></i>
-<font color="#7bc710">some_expensive_operations()</font><font color="#ff0000"> {</font>
-<font color="#ff0000"> echo </font><font color="#bb00ff">"Doing expensive operations with '$1' from pid $$"</font>
-<font color="#ff0000">}</font>
-<b><font color="#ffffff">export</font></b><font color="#ff0000"> -f some_expensive_operations</font>
+<b><font color="#ffffff">some_expensive_operations()</font></b><font color="#ffffff"> {</font>
+<font color="#ffffff"> echo </font><font color="#cd00ff">"Doing expensive operations with '$1' from pid $$"</font>
+<font color="#ffffff">}</font>
+<b><font color="#00ffff">export</font></b><font color="#ffffff"> -f some_expensive_operations</font>
-<b><font color="#ffffff">for</font></b><font color="#ff0000"> i </font><b><font color="#ffffff">in</font></b><font color="#ff0000"> {</font><font color="#bb00ff">0</font><font color="#F3E651">..</font><font color="#bb00ff">9</font><font color="#ff0000">}</font><font color="#F3E651">;</font><font color="#ff0000"> </font><b><font color="#ffffff">do</font></b><font color="#ff0000"> echo </font><font color="#ff0000">$i</font><font color="#F3E651">;</font><font color="#ff0000"> </font><b><font color="#ffffff">done</font></b><font color="#ff0000"> </font><font color="#F3E651">\</font>
-<font color="#ff0000"> </font><font color="#F3E651">|</font><font color="#ff0000"> xargs -P</font><font color="#bb00ff">10</font><font color="#ff0000"> -I{} bash -c </font><font color="#bb00ff">'some_expensive_operations "{}"'</font>
+<b><font color="#00ffff">for</font></b><font color="#ffffff"> i </font><b><font color="#00ffff">in</font></b><font color="#ffffff"> {</font><font color="#ff00ff">0</font><b><font color="#ee5896">..</font></b><font color="#ff00ff">9</font><font color="#ffffff">}</font><b><font color="#ee5896">;</font></b><font color="#ffffff"> </font><b><font color="#00ffff">do</font></b><font color="#ffffff"> echo </font><font color="#ffffff">$i</font><b><font color="#ee5896">;</font></b><font color="#ffffff"> </font><b><font color="#00ffff">done</font></b><font color="#ffffff"> </font><b><font color="#ee5896">\</font></b>
+<font color="#ffffff"> </font><b><font color="#ee5896">|</font></b><font color="#ffffff"> xargs -P</font><font color="#ff00ff">10</font><font color="#ffffff"> -I{} bash -c </font><font color="#cd00ff">'some_expensive_operations "{}"'</font>
</pre>
<br />
<span>When we run this now, we get:</span><br />
@@ -250,19 +250,19 @@ Doing expensive operations with &#39;9&#39; from pid 132840
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><i><font color="#ababab">#!/usr/bin/env bash</font></i>
+<pre><i><font color="#00ff00">#!/usr/bin/env bash</font></i>
-<font color="#7bc710">some_other_function()</font><font color="#ff0000"> {</font>
-<font color="#ff0000"> echo </font><font color="#bb00ff">"$1"</font>
-<font color="#ff0000">}</font>
+<b><font color="#ffffff">some_other_function()</font></b><font color="#ffffff"> {</font>
+<font color="#ffffff"> echo </font><font color="#cd00ff">"$1"</font>
+<font color="#ffffff">}</font>
-<font color="#7bc710">some_expensive_operations()</font><font color="#ff0000"> {</font>
-<font color="#ff0000"> some_other_function </font><font color="#bb00ff">"Doing expensive operations with '$1' from pid $$"</font>
-<font color="#ff0000">}</font>
-<b><font color="#ffffff">export</font></b><font color="#ff0000"> -f some_expensive_operations</font>
+<b><font color="#ffffff">some_expensive_operations()</font></b><font color="#ffffff"> {</font>
+<font color="#ffffff"> some_other_function </font><font color="#cd00ff">"Doing expensive operations with '$1' from pid $$"</font>
+<font color="#ffffff">}</font>
+<b><font color="#00ffff">export</font></b><font color="#ffffff"> -f some_expensive_operations</font>
-<b><font color="#ffffff">for</font></b><font color="#ff0000"> i </font><b><font color="#ffffff">in</font></b><font color="#ff0000"> {</font><font color="#bb00ff">0</font><font color="#F3E651">..</font><font color="#bb00ff">9</font><font color="#ff0000">}</font><font color="#F3E651">;</font><font color="#ff0000"> </font><b><font color="#ffffff">do</font></b><font color="#ff0000"> echo </font><font color="#ff0000">$i</font><font color="#F3E651">;</font><font color="#ff0000"> </font><b><font color="#ffffff">done</font></b><font color="#ff0000"> </font><font color="#F3E651">\</font>
-<font color="#ff0000"> </font><font color="#F3E651">|</font><font color="#ff0000"> xargs -P</font><font color="#bb00ff">10</font><font color="#ff0000"> -I{} bash -c </font><font color="#bb00ff">'some_expensive_operations "{}"'</font>
+<b><font color="#00ffff">for</font></b><font color="#ffffff"> i </font><b><font color="#00ffff">in</font></b><font color="#ffffff"> {</font><font color="#ff00ff">0</font><b><font color="#ee5896">..</font></b><font color="#ff00ff">9</font><font color="#ffffff">}</font><b><font color="#ee5896">;</font></b><font color="#ffffff"> </font><b><font color="#00ffff">do</font></b><font color="#ffffff"> echo </font><font color="#ffffff">$i</font><b><font color="#ee5896">;</font></b><font color="#ffffff"> </font><b><font color="#00ffff">done</font></b><font color="#ffffff"> </font><b><font color="#ee5896">\</font></b>
+<font color="#ffffff"> </font><b><font color="#ee5896">|</font></b><font color="#ffffff"> xargs -P</font><font color="#ff00ff">10</font><font color="#ffffff"> -I{} bash -c </font><font color="#cd00ff">'some_expensive_operations "{}"'</font>
</pre>
<br />
<span>... because <span class='inlinecode'>some_other_function</span> isn&#39;t exported! You will also need to add an <span class='inlinecode'>export -f some_other_function</span>!</span><br />
@@ -275,22 +275,22 @@ http://www.gnu.org/software/src-highlite -->
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><i><font color="#ababab">#!/usr/bin/env bash</font></i>
-
-<font color="#7bc710">foo()</font><font color="#ff0000"> {</font>
-<font color="#ff0000"> </font><b><font color="#ffffff">local</font></b><font color="#ff0000"> </font><font color="#ff0000">foo</font><font color="#F3E651">=</font><font color="#ff0000">bar </font><i><font color="#ababab"># Declare local/dynamic variable</font></i>
-<font color="#ff0000"> bar</font>
-<font color="#ff0000"> echo </font><font color="#bb00ff">"$foo"</font>
-<font color="#ff0000">}</font>
-
-<font color="#7bc710">bar()</font><font color="#ff0000"> {</font>
-<font color="#ff0000"> echo </font><font color="#bb00ff">"$foo"</font>
-<font color="#ff0000"> </font><font color="#ff0000">foo</font><font color="#F3E651">=</font><font color="#ff0000">baz</font>
-<font color="#ff0000">}</font>
-
-<font color="#ff0000">foo</font><font color="#F3E651">=</font><font color="#ff0000">foo </font><i><font color="#ababab"># Declare global variable</font></i>
-<font color="#ff0000">foo </font><i><font color="#ababab"># Call function foo</font></i>
-<font color="#ff0000">echo </font><font color="#bb00ff">"$foo"</font>
+<pre><i><font color="#00ff00">#!/usr/bin/env bash</font></i>
+
+<b><font color="#ffffff">foo()</font></b><font color="#ffffff"> {</font>
+<font color="#ffffff"> </font><b><font color="#00ffff">local</font></b><font color="#ffffff"> </font><font color="#ffffff">foo</font><b><font color="#ee5896">=</font></b><font color="#ffffff">bar </font><i><font color="#00ff00"># Declare local/dynamic variable</font></i>
+<font color="#ffffff"> bar</font>
+<font color="#ffffff"> echo </font><font color="#cd00ff">"$foo"</font>
+<font color="#ffffff">}</font>
+
+<b><font color="#ffffff">bar()</font></b><font color="#ffffff"> {</font>
+<font color="#ffffff"> echo </font><font color="#cd00ff">"$foo"</font>
+<font color="#ffffff"> </font><font color="#ffffff">foo</font><b><font color="#ee5896">=</font></b><font color="#ffffff">baz</font>
+<font color="#ffffff">}</font>
+
+<font color="#ffffff">foo</font><b><font color="#ee5896">=</font></b><font color="#ffffff">foo </font><i><font color="#00ff00"># Declare global variable</font></i>
+<font color="#ffffff">foo </font><i><font color="#00ff00"># Call function foo</font></i>
+<font color="#ffffff">echo </font><font color="#cd00ff">"$foo"</font>
</pre>
<br />
<span>Let&#39;s pause a minute. What do you think the output would be?</span><br />
@@ -315,34 +315,34 @@ foo
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><i><font color="#ababab">#!/usr/bin/env bash</font></i>
+<pre><i><font color="#00ff00">#!/usr/bin/env bash</font></i>
-<b><font color="#ffffff">declare</font></b><font color="#ff0000"> -r </font><font color="#ff0000">foo</font><font color="#F3E651">=</font><font color="#ff0000">foo</font>
-<b><font color="#ffffff">declare</font></b><font color="#ff0000"> -r </font><font color="#ff0000">bar</font><font color="#F3E651">=</font><font color="#ff0000">bar</font>
+<b><font color="#00ffff">declare</font></b><font color="#ffffff"> -r </font><font color="#ffffff">foo</font><b><font color="#ee5896">=</font></b><font color="#ffffff">foo</font>
+<b><font color="#00ffff">declare</font></b><font color="#ffffff"> -r </font><font color="#ffffff">bar</font><b><font color="#ee5896">=</font></b><font color="#ffffff">bar</font>
-<b><font color="#ffffff">if</font></b><font color="#ff0000"> </font><font color="#F3E651">[</font><font color="#ff0000"> </font><font color="#bb00ff">"$foo"</font><font color="#ff0000"> </font><font color="#F3E651">=</font><font color="#ff0000"> foo </font><font color="#F3E651">];</font><font color="#ff0000"> </font><b><font color="#ffffff">then</font></b>
-<font color="#ff0000"> </font><b><font color="#ffffff">if</font></b><font color="#ff0000"> </font><font color="#F3E651">[</font><font color="#ff0000"> </font><font color="#bb00ff">"$bar"</font><font color="#ff0000"> </font><font color="#F3E651">=</font><font color="#ff0000"> bar </font><font color="#F3E651">];</font><font color="#ff0000"> </font><b><font color="#ffffff">then</font></b>
-<font color="#ff0000"> echo ok1</font>
-<font color="#ff0000"> </font><b><font color="#ffffff">fi</font></b>
-<b><font color="#ffffff">fi</font></b>
+<b><font color="#00ffff">if</font></b><font color="#ffffff"> </font><b><font color="#ee5896">[</font></b><font color="#ffffff"> </font><font color="#cd00ff">"$foo"</font><font color="#ffffff"> </font><b><font color="#ee5896">=</font></b><font color="#ffffff"> foo </font><b><font color="#ee5896">];</font></b><font color="#ffffff"> </font><b><font color="#00ffff">then</font></b>
+<font color="#ffffff"> </font><b><font color="#00ffff">if</font></b><font color="#ffffff"> </font><b><font color="#ee5896">[</font></b><font color="#ffffff"> </font><font color="#cd00ff">"$bar"</font><font color="#ffffff"> </font><b><font color="#ee5896">=</font></b><font color="#ffffff"> bar </font><b><font color="#ee5896">];</font></b><font color="#ffffff"> </font><b><font color="#00ffff">then</font></b>
+<font color="#ffffff"> echo ok1</font>
+<font color="#ffffff"> </font><b><font color="#00ffff">fi</font></b>
+<b><font color="#00ffff">fi</font></b>
-<b><font color="#ffffff">if</font></b><font color="#ff0000"> </font><font color="#F3E651">[</font><font color="#ff0000"> </font><font color="#bb00ff">"$foo"</font><font color="#ff0000"> </font><font color="#F3E651">=</font><font color="#ff0000"> foo </font><font color="#F3E651">]</font><font color="#ff0000"> </font><font color="#F3E651">&amp;&amp;</font><font color="#ff0000"> </font><font color="#F3E651">[</font><font color="#ff0000"> </font><font color="#bb00ff">"$bar"</font><font color="#ff0000"> </font><font color="#F3E651">==</font><font color="#ff0000"> bar </font><font color="#F3E651">];</font><font color="#ff0000"> </font><b><font color="#ffffff">then</font></b>
-<font color="#ff0000"> echo ok2a</font>
-<b><font color="#ffffff">fi</font></b>
+<b><font color="#00ffff">if</font></b><font color="#ffffff"> </font><b><font color="#ee5896">[</font></b><font color="#ffffff"> </font><font color="#cd00ff">"$foo"</font><font color="#ffffff"> </font><b><font color="#ee5896">=</font></b><font color="#ffffff"> foo </font><b><font color="#ee5896">]</font></b><font color="#ffffff"> </font><b><font color="#ee5896">&amp;&amp;</font></b><font color="#ffffff"> </font><b><font color="#ee5896">[</font></b><font color="#ffffff"> </font><font color="#cd00ff">"$bar"</font><font color="#ffffff"> </font><b><font color="#ee5896">==</font></b><font color="#ffffff"> bar </font><b><font color="#ee5896">];</font></b><font color="#ffffff"> </font><b><font color="#00ffff">then</font></b>
+<font color="#ffffff"> echo ok2a</font>
+<b><font color="#00ffff">fi</font></b>
-<font color="#F3E651">[</font><font color="#ff0000"> </font><font color="#bb00ff">"$foo"</font><font color="#ff0000"> </font><font color="#F3E651">=</font><font color="#ff0000"> foo </font><font color="#F3E651">]</font><font color="#ff0000"> </font><font color="#F3E651">&amp;&amp;</font><font color="#ff0000"> </font><font color="#F3E651">[</font><font color="#ff0000"> </font><font color="#bb00ff">"$bar"</font><font color="#ff0000"> </font><font color="#F3E651">==</font><font color="#ff0000"> bar </font><font color="#F3E651">]</font><font color="#ff0000"> </font><font color="#F3E651">&amp;&amp;</font><font color="#ff0000"> echo ok2b</font>
+<b><font color="#ee5896">[</font></b><font color="#ffffff"> </font><font color="#cd00ff">"$foo"</font><font color="#ffffff"> </font><b><font color="#ee5896">=</font></b><font color="#ffffff"> foo </font><b><font color="#ee5896">]</font></b><font color="#ffffff"> </font><b><font color="#ee5896">&amp;&amp;</font></b><font color="#ffffff"> </font><b><font color="#ee5896">[</font></b><font color="#ffffff"> </font><font color="#cd00ff">"$bar"</font><font color="#ffffff"> </font><b><font color="#ee5896">==</font></b><font color="#ffffff"> bar </font><b><font color="#ee5896">]</font></b><font color="#ffffff"> </font><b><font color="#ee5896">&amp;&amp;</font></b><font color="#ffffff"> echo ok2b</font>
-<b><font color="#ffffff">if</font></b><font color="#ff0000"> </font><font color="#F3E651">[[</font><font color="#ff0000"> </font><font color="#bb00ff">"$foo"</font><font color="#ff0000"> </font><font color="#F3E651">=</font><font color="#ff0000"> foo </font><font color="#F3E651">&amp;&amp;</font><font color="#ff0000"> </font><font color="#bb00ff">"$bar"</font><font color="#ff0000"> </font><font color="#F3E651">==</font><font color="#ff0000"> bar </font><font color="#F3E651">]];</font><font color="#ff0000"> </font><b><font color="#ffffff">then</font></b>
-<font color="#ff0000"> echo ok3a</font>
-<b><font color="#ffffff">fi</font></b>
+<b><font color="#00ffff">if</font></b><font color="#ffffff"> </font><b><font color="#ee5896">[[</font></b><font color="#ffffff"> </font><font color="#cd00ff">"$foo"</font><font color="#ffffff"> </font><b><font color="#ee5896">=</font></b><font color="#ffffff"> foo </font><b><font color="#ee5896">&amp;&amp;</font></b><font color="#ffffff"> </font><font color="#cd00ff">"$bar"</font><font color="#ffffff"> </font><b><font color="#ee5896">==</font></b><font color="#ffffff"> bar </font><b><font color="#ee5896">]];</font></b><font color="#ffffff"> </font><b><font color="#00ffff">then</font></b>
+<font color="#ffffff"> echo ok3a</font>
+<b><font color="#00ffff">fi</font></b>
-<font color="#ff0000"> </font><font color="#F3E651">[[</font><font color="#ff0000"> </font><font color="#bb00ff">"$foo"</font><font color="#ff0000"> </font><font color="#F3E651">=</font><font color="#ff0000"> foo </font><font color="#F3E651">&amp;&amp;</font><font color="#ff0000"> </font><font color="#bb00ff">"$bar"</font><font color="#ff0000"> </font><font color="#F3E651">==</font><font color="#ff0000"> bar </font><font color="#F3E651">]]</font><font color="#ff0000"> </font><font color="#F3E651">&amp;&amp;</font><font color="#ff0000"> echo ok3b</font>
+<font color="#ffffff"> </font><b><font color="#ee5896">[[</font></b><font color="#ffffff"> </font><font color="#cd00ff">"$foo"</font><font color="#ffffff"> </font><b><font color="#ee5896">=</font></b><font color="#ffffff"> foo </font><b><font color="#ee5896">&amp;&amp;</font></b><font color="#ffffff"> </font><font color="#cd00ff">"$bar"</font><font color="#ffffff"> </font><b><font color="#ee5896">==</font></b><font color="#ffffff"> bar </font><b><font color="#ee5896">]]</font></b><font color="#ffffff"> </font><b><font color="#ee5896">&amp;&amp;</font></b><font color="#ffffff"> echo ok3b</font>
-<b><font color="#ffffff">if</font></b><font color="#ff0000"> </font><b><font color="#ffffff">test</font></b><font color="#ff0000"> </font><font color="#bb00ff">"$foo"</font><font color="#ff0000"> </font><font color="#F3E651">=</font><font color="#ff0000"> foo </font><font color="#F3E651">&amp;&amp;</font><font color="#ff0000"> </font><b><font color="#ffffff">test</font></b><font color="#ff0000"> </font><font color="#bb00ff">"$bar"</font><font color="#ff0000"> </font><font color="#F3E651">=</font><font color="#ff0000"> bar</font><font color="#F3E651">;</font><font color="#ff0000"> </font><b><font color="#ffffff">then</font></b>
-<font color="#ff0000"> echo ok4a</font>
-<b><font color="#ffffff">fi</font></b>
+<b><font color="#00ffff">if</font></b><font color="#ffffff"> </font><b><font color="#00ffff">test</font></b><font color="#ffffff"> </font><font color="#cd00ff">"$foo"</font><font color="#ffffff"> </font><b><font color="#ee5896">=</font></b><font color="#ffffff"> foo </font><b><font color="#ee5896">&amp;&amp;</font></b><font color="#ffffff"> </font><b><font color="#00ffff">test</font></b><font color="#ffffff"> </font><font color="#cd00ff">"$bar"</font><font color="#ffffff"> </font><b><font color="#ee5896">=</font></b><font color="#ffffff"> bar</font><b><font color="#ee5896">;</font></b><font color="#ffffff"> </font><b><font color="#00ffff">then</font></b>
+<font color="#ffffff"> echo ok4a</font>
+<b><font color="#00ffff">fi</font></b>
-<b><font color="#ffffff">test</font></b><font color="#ff0000"> </font><font color="#bb00ff">"$foo"</font><font color="#ff0000"> </font><font color="#F3E651">=</font><font color="#ff0000"> foo </font><font color="#F3E651">&amp;&amp;</font><font color="#ff0000"> </font><b><font color="#ffffff">test</font></b><font color="#ff0000"> </font><font color="#bb00ff">"$bar"</font><font color="#ff0000"> </font><font color="#F3E651">=</font><font color="#ff0000"> bar </font><font color="#F3E651">&amp;&amp;</font><font color="#ff0000"> echo ok4b</font>
+<b><font color="#00ffff">test</font></b><font color="#ffffff"> </font><font color="#cd00ff">"$foo"</font><font color="#ffffff"> </font><b><font color="#ee5896">=</font></b><font color="#ffffff"> foo </font><b><font color="#ee5896">&amp;&amp;</font></b><font color="#ffffff"> </font><b><font color="#00ffff">test</font></b><font color="#ffffff"> </font><font color="#cd00ff">"$bar"</font><font color="#ffffff"> </font><b><font color="#ee5896">=</font></b><font color="#ffffff"> bar </font><b><font color="#ee5896">&amp;&amp;</font></b><font color="#ffffff"> echo ok4b</font>
</pre>
<br />
<span>The output we get is:</span><br />
@@ -366,18 +366,18 @@ ok4b
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><i><font color="#ababab">#!/usr/bin/env bash</font></i>
+<pre><i><font color="#00ff00">#!/usr/bin/env bash</font></i>
-<i><font color="#ababab"># Single line comment</font></i>
+<i><font color="#00ff00"># Single line comment</font></i>
-<i><font color="#ababab"># These are two single line</font></i>
-<i><font color="#ababab"># comments one after another</font></i>
+<i><font color="#00ff00"># These are two single line</font></i>
+<i><font color="#00ff00"># comments one after another</font></i>
-<font color="#F3E651">:</font><font color="#ff0000"> </font><font color="#F3E651">&lt;&lt;</font><font color="#ff0000">COMMENT</font>
-<font color="#ff0000">This is another way a</font>
-<font color="#ff0000">multi line comment</font>
-<font color="#ff0000">could be written</font><font color="#F3E651">!</font>
-<font color="#ff0000">COMMENT</font>
+<b><font color="#ee5896">:</font></b><font color="#ffffff"> </font><b><font color="#ee5896">&lt;&lt;</font></b><font color="#ffffff">COMMENT</font>
+<font color="#ffffff">This is another way a</font>
+<font color="#ffffff">multi line comment</font>
+<font color="#ffffff">could be written</font><b><font color="#ee5896">!</font></b>
+<font color="#ffffff">COMMENT</font>
</pre>
<br />
<span>I will not demonstrate the execution of this script, as it won&#39;t print anything! It&#39;s obviously not the most pretty way of commenting on your code, but it could sometimes be handy!</span><br />
@@ -390,11 +390,11 @@ http://www.gnu.org/software/src-highlite -->
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
-<pre><i><font color="#ababab">#!/usr/bin/env bash</font></i>
+<pre><i><font color="#00ff00">#!/usr/bin/env bash</font></i>
-<font color="#ff0000">echo foo</font>
-<font color="#ff0000">echo echo baz </font><font color="#F3E651">&gt;&gt;</font><font color="#ff0000"> </font><font color="#ff0000">$0</font>
-<font color="#ff0000">echo bar</font>
+<font color="#ffffff">echo foo</font>
+<font color="#ffffff">echo echo baz </font><b><font color="#ee5896">&gt;&gt;</font></b><font color="#ffffff"> </font><font color="#ffffff">$0</font>
+<font color="#ffffff">echo bar</font>
</pre>
<br />
<span>When it is run, it will do:</span><br />