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 08801198..c69ef361 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="#00ff00">#!/usr/bin/env bash</font></i>
+<pre><i><font color="silver">#!/usr/bin/env bash</font></i>
-<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>
+log () {
+ <b><u><font color="#000000">local</font></u></b> -r level=<font color="#808080">"$1"</font>; <b><u><font color="#000000">shift</font></u></b>
+ <b><u><font color="#000000">local</font></u></b> -r message=<font color="#808080">"$1"</font>; <b><u><font color="#000000">shift</font></u></b>
+ <b><u><font color="#000000">local</font></u></b> -i pid=<font color="#808080">"$$"</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>
+ <b><u><font color="#000000">local</font></u></b> -r callee=${FUNCNAME[1]}
+ <b><u><font color="#000000">local</font></u></b> -r stamp=$(date +%Y%m%d-%H%M%S)
-<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>
+ echo <font color="#808080">"$level|$stamp|$pid|$callee|$message"</font> &gt;&amp;<font color="#000000">2</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>
+at_home_friday_evening () {
+ log INFO <font color="#808080">'One Peperoni Pizza, please'</font>
+}
-<font color="#ffffff">at_home_friday_evening</font>
+at_home_friday_evening
</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="#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>❯ ./logexample.sh
+INFO|<font color="#000000">20231210</font>-<font color="#000000">082732</font>|<font color="#000000">123002</font>|at_home_friday_evening|One Peperoni Pizza, please
</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="#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><i><font color="silver">#!/usr/bin/env bash</font></i>
+
+outer() {
+ inner() {
+ echo <font color="#808080">'Intel inside!'</font>
+ }
+ inner
+}
+
+inner
+outer
+inner
</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="#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><i><font color="silver">#!/usr/bin/env bash</font></i>
+
+outer1() {
+ inner() {
+ echo <font color="#808080">'Intel inside!'</font>
+ }
+ inner
+}
+
+outer2() {
+ inner() {
+ echo <font color="#808080">'Wintel inside!'</font>
+ }
+ inner
+}
+
+outer1
+inner
+outer2
+inner
</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="#00ff00">#!/usr/bin/env bash</font></i>
+<pre><i><font color="silver">#!/usr/bin/env bash</font></i>
-<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>
+some_expensive_operations() {
+ echo <font color="#808080">"Doing expensive operations with '$1' from pid $$"</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>
+<b><u><font color="#000000">for</font></u></b> i <b><u><font color="#000000">in</font></u></b> {<font color="#000000">0</font>..<font color="#000000">9</font>}; <b><u><font color="#000000">do</font></u></b> echo $i; <b><u><font color="#000000">done</font></u></b> \
+ | xargs -P<font color="#000000">10</font> -I{} bash -c <font color="#808080">'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="#00ff00">#!/usr/bin/env bash</font></i>
+<pre><i><font color="silver">#!/usr/bin/env bash</font></i>
-<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>
+some_expensive_operations() {
+ echo <font color="#808080">"Doing expensive operations with '$1' from pid $$"</font>
+}
+<b><u><font color="#000000">export</font></u></b> -f some_expensive_operations
-<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>
+<b><u><font color="#000000">for</font></u></b> i <b><u><font color="#000000">in</font></u></b> {<font color="#000000">0</font>..<font color="#000000">9</font>}; <b><u><font color="#000000">do</font></u></b> echo $i; <b><u><font color="#000000">done</font></u></b> \
+ | xargs -P<font color="#000000">10</font> -I{} bash -c <font color="#808080">'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="#00ff00">#!/usr/bin/env bash</font></i>
+<pre><i><font color="silver">#!/usr/bin/env bash</font></i>
-<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>
+some_other_function() {
+ echo <font color="#808080">"$1"</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>
+some_expensive_operations() {
+ some_other_function <font color="#808080">"Doing expensive operations with '$1' from pid $$"</font>
+}
+<b><u><font color="#000000">export</font></u></b> -f some_expensive_operations
-<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>
+<b><u><font color="#000000">for</font></u></b> i <b><u><font color="#000000">in</font></u></b> {<font color="#000000">0</font>..<font color="#000000">9</font>}; <b><u><font color="#000000">do</font></u></b> echo $i; <b><u><font color="#000000">done</font></u></b> \
+ | xargs -P<font color="#000000">10</font> -I{} bash -c <font color="#808080">'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="#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><i><font color="silver">#!/usr/bin/env bash</font></i>
+
+foo() {
+ <b><u><font color="#000000">local</font></u></b> foo=bar <i><font color="silver"># Declare local/dynamic variable</font></i>
+ bar
+ echo <font color="#808080">"$foo"</font>
+}
+
+bar() {
+ echo <font color="#808080">"$foo"</font>
+ foo=baz
+}
+
+foo=foo <i><font color="silver"># Declare global variable</font></i>
+foo <i><font color="silver"># Call function foo</font></i>
+echo <font color="#808080">"$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="#00ff00">#!/usr/bin/env bash</font></i>
+<pre><i><font color="silver">#!/usr/bin/env bash</font></i>
-<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><u><font color="#000000">declare</font></u></b> -r foo=foo
+<b><u><font color="#000000">declare</font></u></b> -r bar=bar
-<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><u><font color="#000000">if</font></u></b> [ <font color="#808080">"$foo"</font> = foo ]; <b><u><font color="#000000">then</font></u></b>
+ <b><u><font color="#000000">if</font></u></b> [ <font color="#808080">"$bar"</font> = bar ]; <b><u><font color="#000000">then</font></u></b>
+ echo ok1
+ <b><u><font color="#000000">fi</font></u></b>
+<b><u><font color="#000000">fi</font></u></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>
+<b><u><font color="#000000">if</font></u></b> [ <font color="#808080">"$foo"</font> = foo ] &amp;&amp; [ <font color="#808080">"$bar"</font> == bar ]; <b><u><font color="#000000">then</font></u></b>
+ echo ok2a
+<b><u><font color="#000000">fi</font></u></b>
-<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>
+[ <font color="#808080">"$foo"</font> = foo ] &amp;&amp; [ <font color="#808080">"$bar"</font> == bar ] &amp;&amp; echo ok2b
-<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>
+<b><u><font color="#000000">if</font></u></b> [[ <font color="#808080">"$foo"</font> = foo &amp;&amp; <font color="#808080">"$bar"</font> == bar ]]; <b><u><font color="#000000">then</font></u></b>
+ echo ok3a
+<b><u><font color="#000000">fi</font></u></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="#ee5896">&amp;&amp;</font></b><font color="#ffffff"> echo ok3b</font>
+ [[ <font color="#808080">"$foo"</font> = foo &amp;&amp; <font color="#808080">"$bar"</font> == bar ]] &amp;&amp; echo ok3b
-<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><u><font color="#000000">if</font></u></b> <b><u><font color="#000000">test</font></u></b> <font color="#808080">"$foo"</font> = foo &amp;&amp; <b><u><font color="#000000">test</font></u></b> <font color="#808080">"$bar"</font> = bar; <b><u><font color="#000000">then</font></u></b>
+ echo ok4a
+<b><u><font color="#000000">fi</font></u></b>
-<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>
+<b><u><font color="#000000">test</font></u></b> <font color="#808080">"$foo"</font> = foo &amp;&amp; <b><u><font color="#000000">test</font></u></b> <font color="#808080">"$bar"</font> = bar &amp;&amp; echo ok4b
</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="#00ff00">#!/usr/bin/env bash</font></i>
+<pre><i><font color="silver">#!/usr/bin/env bash</font></i>
-<i><font color="#00ff00"># Single line comment</font></i>
+<i><font color="silver"># Single line comment</font></i>
-<i><font color="#00ff00"># These are two single line</font></i>
-<i><font color="#00ff00"># comments one after another</font></i>
+<i><font color="silver"># These are two single line</font></i>
+<i><font color="silver"># comments one after another</font></i>
-<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>
+: &lt;&lt;COMMENT
+This is another way a
+multi line comment
+could be written!
+COMMENT
</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="#00ff00">#!/usr/bin/env bash</font></i>
+<pre><i><font color="silver">#!/usr/bin/env bash</font></i>
-<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>
+echo foo
+echo echo baz &gt;&gt; $0
+echo bar
</pre>
<br />
<span>When it is run, it will do:</span><br />