Warning, file /frameworks/syntax-highlighting/autotests/html/highlight.sh.dark.html was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>highlight.sh</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Bash) - Theme (Breeze Dark)"/>
0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre>
0007 <span style="color:#7a7c7d;">#! /bin/sh</span>
0008 <span style="color:#7a7c7d;"># This is a test script for the Katepart Bash Syntax Highlighting by</span>
0009 <span style="color:#7a7c7d;">#  Wilbert Berendsen.  This is not runnable !!!</span>
0010 
0011 
0012 <span style="color:#7a7c7d;"># The highlighting recognizes basic types of input, and has a few special cases that</span>
0013 <span style="color:#7a7c7d;"># are all in FindCommands.  The main objective is to create really proper nesting of</span>
0014 <span style="color:#7a7c7d;"># (multiline) strings, variables, expressions, etc.</span>
0015 
0016 
0017 
0018 <span style="color:#7a7c7d;"># ============== Tests: ===============</span>
0019 
0020 <span style="color:#7a7c7d;"># basic types:</span>
0021 <span style="color:#7f8c8d;">echo</span> <span style="color:#f44f4f;">'single quoted string'</span>
0022 <span style="color:#7f8c8d;">echo</span> <span style="color:#f44f4f;">&quot;double quoted string&quot;</span>
0023 <span style="color:#7f8c8d;">echo</span> <span style="color:#f44f4f;">$'string with esc</span><span style="color:#2980b9;">\a</span><span style="color:#f44f4f;">pes</span><span style="color:#2980b9;">\x0d</span><span style="color:#f44f4f;">in it'</span>
0024 <span style="color:#7f8c8d;">echo</span> <span style="color:#f44f4f;">$&quot;</span><span style="color:#f44f4f;">string meant to be translated&quot;</span>
0025 <span style="color:#7f8c8d;">echo</span> <span style="color:#f44f4f;">&quot;$&quot;</span>
0026 
0027 
0028 <span style="color:#7a7c7d;"># comments:</span>
0029 <span style="color:#7a7c7d;"># this is a comment</span>
0030 <span style="color:#7a7c7d;">#this too</span>
0031 <span style="color:#7f8c8d;">echo</span> this is#nt a comment
0032 <span style="color:#8e44ad;">dcop</span> kate EditInterface#1 <span style="color:#7a7c7d;">#this is</span>
0033 <span style="color:#8e44ad;">grep</span> <span style="color:#2980b9;">-e</span> <span style="color:#f44f4f;">&quot;^default/linux/amd64/&quot;</span> <span style="font-weight:bold;">|</span><span style="color:#0099ff;font-weight:bold;">\ #this</span> is not a comment but <span style="color:#7a7c7d;">#this is</span>
0034 <span style="color:#8e44ad;">mkdir</span> this<span style="color:#2980b9;">\ </span>isnt<span style="color:#2980b9;">\ </span>#a<span style="color:#2980b9;">\ </span>comment
0035 <span style="color:#8e44ad;">mkdir</span> this<span style="color:#2980b9;">\ </span>isnt<span style="color:#2980b9;">\\\;</span>#a<span style="color:#2980b9;">\ </span>comment
0036 <span style="color:#8e44ad;">mkdir</span> this<span style="color:#2980b9;">\\</span> <span style="color:#7a7c7d;">#is a comment</span>
0037 
0038 <span style="color:#3f8058;">&lt;&lt;'#BLOCK-COMMENT'</span>
0039 <span style="color:#81ca2d;background-color:#4d1f24;font-weight:bold;">NOTE</span><span style="color:#7a7c7d;"> This is the &quot;miltiline&quot; comment.</span>
0040 
0041 <span style="color:#2980b9;background-color:#153042;">[===[.rst:</span>
0042 
0043 <span style="color:#7a7c7d;">Docs</span>
0044 <span style="color:#7a7c7d;">----</span>
0045 
0046 <span style="color:#7a7c7d;">Documentation block in </span><span style="color:#2980b9;">``RST``</span><span style="color:#7a7c7d;"> format </span><span style="font-weight:bold;">**starts**</span><span style="color:#7a7c7d;"> </span><span style="font-style:italic;">*here*</span><span style="color:#7a7c7d;">.</span>
0047 
0048 <span style="color:#2980b9;background-color:#153042;">]===]</span>
0049 <span style="color:#3f8058;">#BLOCK-COMMENT</span>
0050 
0051 <span style="color:#7f8c8d;">:</span><span style="color:#7a7c7d;"> </span><span style="color:#3f8058;">&lt;&lt; '#SC2188'</span>
0052 <span style="color:#2980b9;background-color:#153042;">[====[.rst:</span>
0053 <span style="color:#7a7c7d;">The </span><span style="font-style:italic;">*multiline*</span><span style="color:#7a7c7d;"> comment does not trigger the </span><span style="color:#27ae60;">SC2188_</span><span style="color:#7a7c7d;"> warning of </span><span style="color:#f67400;">`shellcheck`</span><span style="color:#7a7c7d;">.</span>
0054 
0055 <span style="color:#2980b9;">.. _SC2188: </span><span style="color:#27ae60;">https://www.shellcheck.net/wiki/SC2188</span>
0056 <span style="color:#2980b9;background-color:#153042;">]====]</span>
0057 
0058 <span style="color:#7a7c7d;">... continue with _normal_ Bash comment.</span>
0059 <span style="color:#3f8058;">#SC2188</span>
0060 
0061 <span style="color:#7a7c7d;"># brace expansion</span>
0062 <span style="color:#8e44ad;">mv</span> my_file.<span style="color:#2980b9;">{JPG</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">jpg}</span>
0063 <span style="color:#7f8c8d;">echo</span> f.<span style="color:#2980b9;">{</span><span style="color:#f67400;">01</span><span style="color:#2980b9;">..</span><span style="color:#f67400;">100</span><span style="color:#2980b9;">..</span><span style="color:#f67400;">3</span><span style="color:#2980b9;">}</span> f.<span style="color:#2980b9;">{</span>Z<span style="color:#2980b9;">..</span>a<span style="color:#2980b9;">..</span><span style="color:#f67400;">-3</span><span style="color:#2980b9;">}</span>
0064 <span style="color:#7f8c8d;">echo</span> f.<span style="color:#2980b9;">{</span><span style="color:#f67400;">01</span><span style="color:#2980b9;">..</span><span style="color:#f67400;">100</span><span style="color:#2980b9;">}</span> f.<span style="color:#2980b9;">{</span>a<span style="color:#2980b9;">..</span>Z<span style="color:#2980b9;">}</span>
0065 <span style="color:#7a7c7d;"># no brace expansion</span>
0066 <span style="color:#7f8c8d;">echo</span> f.{..100} f.{1..Z} f.{a..Z..}
0067 
0068 
0069 <span style="color:#7a7c7d;"># special characters are escaped:</span>
0070 <span style="color:#7f8c8d;">echo</span> <span style="color:#2980b9;">\(</span>output<span style="color:#2980b9;">\)</span> <span style="color:#2980b9;">\&amp;\|</span> <span style="color:#2980b9;">\&gt;</span> <span style="color:#2980b9;">\&lt;</span> <span style="color:#2980b9;">\&quot;</span> <span style="color:#2980b9;">\'</span> <span style="color:#2980b9;">\*</span>
0071 
0072 
0073 <span style="color:#7a7c7d;"># variable substitution:</span>
0074 <span style="color:#7f8c8d;">echo</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">filename</span>.ext
0075 <span style="color:#7f8c8d;">echo</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">filename_ext</span>
0076 <span style="color:#7f8c8d;">echo</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">filename</span><span style="color:#27aeae;">}</span>_ext
0077 <span style="color:#7f8c8d;">echo</span> text<span style="color:#27aeae;">${</span><span style="color:#27aeae;">array</span><span style="color:#3f8058;">[</span><span style="color:#27aeae;">$</span><span style="color:#27aeae;">subscript</span><span style="color:#3f8058;">]</span><span style="color:#27aeae;">}</span>.text
0078 <span style="color:#7f8c8d;">echo</span> text<span style="color:#27aeae;">${</span><span style="color:#27aeae;">array</span><span style="color:#3f8058;">[</span><span style="color:#f44f4f;">&quot;string&quot;</span><span style="color:#3f8058;">]</span><span style="color:#27aeae;">}</span>.text
0079 <span style="color:#7f8c8d;">echo</span> <span style="color:#27aeae;">${</span><span style="color:#3f8058;">!</span><span style="color:#27aeae;">prefix</span><span style="color:#3f8058;">*</span><span style="color:#27aeae;">}</span>
0080 <span style="color:#7f8c8d;">echo</span> <span style="color:#27aeae;">${</span><span style="color:#3f8058;">!</span><span style="color:#27aeae;">redir</span><span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#3f8058;">!</span><span style="color:#27aeae;">3</span><span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#3f8058;">!#</span><span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#3f8058;">!##</span><span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#3f8058;">!@###</span><span style="color:#27aeae;">}</span>
0081 <span style="color:#7f8c8d;">echo</span> short are <span style="color:#27aeae;">$</span><span style="color:#27aeae;">_</span>, <span style="color:#27aeae;">$</span><span style="color:#27aeae;">$</span>, <span style="color:#27aeae;">$</span><span style="color:#27aeae;">?</span>, <span style="color:#27aeae;">${</span><span style="color:#27aeae;">@</span><span style="color:#27aeae;">}</span>, etc.
0082 <span style="color:#7f8c8d;">echo</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">variable</span><span style="color:#3f8058;">/</span><span style="color:#da4453;">a</span><span style="color:#3f8058;">/</span>d<span style="color:#27aeae;">}</span>
0083 <span style="color:#7f8c8d;">echo</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">1</span><span style="color:#3f8058;">:-</span>default<span style="color:#27aeae;">}</span>
0084 <span style="color:#7f8c8d;">echo</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">10</span><span style="color:#27aeae;">}</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">1</span>0a <span style="color:#7a7c7d;"># 9 is max</span>
0085 
0086 
0087 <span style="color:#7a7c7d;"># expression subst:</span>
0088 <span style="color:#7f8c8d;">echo</span> <span style="color:#27aeae;">$((</span> <span style="color:#27aeae;">cd</span> <span style="color:#3f8058;">&lt;&lt;</span> <span style="color:#27aeae;">ed</span> <span style="color:#3f8058;">+</span> <span style="color:#f67400;">1</span> <span style="color:#27aeae;">))</span>
0089 
0090 
0091 <span style="color:#7a7c7d;"># command subst:</span>
0092 <span style="color:#7f8c8d;">echo</span> <span style="color:#27aeae;">$(</span><span style="color:#8e44ad;">ls</span> <span style="color:#2980b9;">-l</span><span style="color:#27aeae;">)</span>
0093 <span style="color:#7f8c8d;">echo</span> <span style="font-weight:bold;">`</span><span style="color:#8e44ad;">cat</span> myfile<span style="font-weight:bold;">`</span>
0094 
0095 
0096 <span style="color:#7a7c7d;"># file subst:</span>
0097 <span style="color:#7f8c8d;">echo</span> <span style="color:#27aeae;">$(</span><span style="color:#3f8058;">&lt;</span><span style="color:#27aeae;">$</span><span style="color:#27aeae;">filename</span><span style="color:#27aeae;">)</span>
0098 <span style="color:#7f8c8d;">echo</span> <span style="color:#27aeae;">$(</span><span style="color:#3f8058;">&lt;</span>/path/to/myfile<span style="color:#27aeae;">)</span>
0099 
0100 <span style="color:#7a7c7d;"># process subst:</span>
0101 <span style="color:#8e44ad;">sort</span> <span style="color:#3f8058;">&lt;(</span><span style="color:#0099ff;font-weight:bold;">show_labels</span><span style="color:#3f8058;">)</span> <span style="font-weight:bold;">|</span> <span style="color:#8e44ad;">sed</span> <span style="color:#f44f4f;">'s/a/bg'</span> <span style="color:#3f8058;">&gt;</span> my_file.txt <span style="color:#f67400;">2</span><span style="color:#3f8058;">&gt;&amp;</span><span style="color:#f67400;">1</span>
0102 
0103 
0104 <span style="color:#7a7c7d;"># All substitutions also work in strings:</span>
0105 <span style="color:#7f8c8d;">echo</span> <span style="color:#f44f4f;">&quot;subst </span><span style="color:#27aeae;">${</span><span style="color:#27aeae;">in</span><span style="color:#27aeae;">}</span><span style="color:#f44f4f;">side string&quot;</span>  <span style="color:#f44f4f;">'not $inside this ofcourse'</span>
0106 <span style="color:#7f8c8d;">echo</span> <span style="color:#f44f4f;">&quot;The result is </span><span style="color:#27aeae;">$((</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">a</span> <span style="color:#3f8058;">+</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">b</span> <span style="color:#27aeae;">))</span><span style="color:#f44f4f;">. Thanks!&quot;</span>
0107 <span style="color:#7f8c8d;">echo</span> <span style="color:#f44f4f;">&quot;Your homedir contains </span><span style="font-weight:bold;">`</span><span style="color:#8e44ad;">ls</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">HOME</span> <span style="font-weight:bold;">|</span><span style="color:#8e44ad;">wc</span> <span style="color:#2980b9;">-l</span><span style="font-weight:bold;">`</span><span style="color:#f44f4f;"> files.&quot;</span>
0108 
0109 
0110 <span style="color:#7a7c7d;"># Escapes in strings:</span>
0111 <span style="color:#27aeae;">p</span><span style="color:#3f8058;">=</span><span style="color:#f44f4f;">&quot;String </span><span style="color:#2980b9;">\`</span><span style="color:#f44f4f;"> with </span><span style="color:#2980b9;">\$</span><span style="color:#f44f4f;"> escapes </span><span style="color:#2980b9;">\&quot;</span><span style="color:#f44f4f;"> &quot;</span><span style="font-weight:bold;">;</span>
0112 
0113 
0114 <span style="color:#7a7c7d;"># keywords are black, builtins dark purple and common commands lighter purple</span>
0115 <span style="color:#7f8c8d;">set</span>
0116 <span style="color:#7f8c8d;">exit</span>
0117 <span style="color:#8e44ad;">login</span>
0118 
0119 
0120 <span style="color:#7a7c7d;"># Other colorings:</span>
0121 <span style="color:#8e44ad;">error()</span> <span style="font-weight:bold;">{</span>
0122     <span style="color:#8e44ad;">cat</span> /usr/bin/lesspipe.sh
0123     <span style="color:#0099ff;font-weight:bold;">runscript</span> <span style="color:#3f8058;">&gt;&amp;</span> redir.bak
0124     <span style="color:#7f8c8d;">exec</span> <span style="color:#f67400;">3</span><span style="color:#3f8058;">&gt;&amp;</span><span style="color:#f67400;">4</span>
0125 <span style="font-weight:bold;">}</span>
0126 
0127 
0128 <span style="color:#7a7c7d;"># do - done make code blocks</span>
0129 <span style="color:#fdbc4b;font-weight:bold;">while</span> <span style="color:#7f8c8d;">[</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">p</span> <span style="color:#27ae60;">-lt</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">q</span> <span style="color:#7f8c8d;">]</span>
0130 <span style="color:#fdbc4b;font-weight:bold;">do</span>
0131     <span style="color:#8e44ad;">chown</span> 0644 <span style="color:#27aeae;">$</span><span style="color:#27aeae;">file</span>.<span style="color:#27aeae;">$</span><span style="color:#27aeae;">p</span>
0132 <span style="color:#fdbc4b;font-weight:bold;">done</span>
0133 
0134 
0135 <span style="color:#7a7c7d;"># braces as well</span>
0136 <span style="color:#0099ff;font-weight:bold;">run_prog</span> <span style="font-weight:bold;">|</span> <span style="color:#8e44ad;">sort</span> <span style="color:#2980b9;">-u</span> <span style="font-weight:bold;">|</span>
0137 <span style="font-weight:bold;">{</span>
0138     <span style="color:#7f8c8d;">echo</span> Header
0139     <span style="color:#fdbc4b;font-weight:bold;">while</span> <span style="color:#7f8c8d;">read</span> <span style="color:#27aeae;">a</span> <span style="color:#27aeae;">b</span> <span style="color:#27aeae;">d</span>
0140     <span style="color:#fdbc4b;font-weight:bold;">do</span>
0141         <span style="color:#7f8c8d;">echo</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">a</span>/<span style="color:#27aeae;">$</span><span style="color:#27aeae;">b</span>/<span style="color:#27aeae;">$</span><span style="color:#27aeae;">c</span>
0142     <span style="color:#fdbc4b;font-weight:bold;">done</span>
0143     <span style="color:#7f8c8d;">echo</span> Footer
0144 <span style="font-weight:bold;">}</span>
0145 
0146 
0147 <span style="color:#7a7c7d;"># Any constructions can be nested:</span>
0148 <span style="color:#7f8c8d;">echo</span> <span style="color:#f44f4f;">&quot;A long string with </span><span style="color:#27aeae;">$(</span>
0149     <span style="color:#fdbc4b;font-weight:bold;">if</span> <span style="color:#7f8c8d;">[</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">count</span> <span style="color:#27ae60;">-gt</span> 100 <span style="color:#7f8c8d;">]</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">then</span>
0150         <span style="color:#7f8c8d;">echo</span> <span style="color:#f44f4f;">&quot;much&quot;</span>
0151     <span style="color:#fdbc4b;font-weight:bold;">else</span>
0152         <span style="color:#7f8c8d;">echo</span> <span style="color:#f44f4f;">&quot;not much&quot;</span>
0153     <span style="color:#fdbc4b;font-weight:bold;">fi</span> <span style="color:#27aeae;">)</span><span style="color:#f44f4f;"> substitutions.&quot;</span> <span style="font-weight:bold;">;</span>
0154 
0155 
0156 <span style="color:#7a7c7d;"># Even the case construct is correctly folded:</span>
0157 <span style="color:#7f8c8d;">test</span> <span style="color:#2980b9;">-f</span> blaat <span style="font-weight:bold;">&amp;&amp;</span>
0158 <span style="font-weight:bold;">(</span>    <span style="color:#0099ff;font-weight:bold;">do_something</span>
0159     <span style="color:#fdbc4b;font-weight:bold;">case</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">p</span> <span style="font-weight:bold;">in</span>
0160         <span style="color:#27ae60;">*</span><span style="color:#da4453;">bak</span><span style="font-weight:bold;">)</span>
0161             <span style="color:#0099ff;font-weight:bold;">do_bak</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">p</span>
0162             <span style="color:#fdbc4b;font-weight:bold;">;;</span>
0163         <span style="color:#27ae60;">*</span><span style="font-weight:bold;">)</span>
0164             <span style="color:#0099ff;font-weight:bold;">dont_bak</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">p</span>
0165             <span style="color:#fdbc4b;font-weight:bold;">;;</span>
0166     <span style="color:#fdbc4b;font-weight:bold;">esac</span>
0167 <span style="font-weight:bold;">)</span> <span style="color:#7a7c7d;"># despite the extra parentheses in the case construction.</span>
0168 
0169 
0170 <span style="color:#7a7c7d;"># more control flow</span>
0171 <span style="color:#fdbc4b;font-weight:bold;">while</span> <span style="color:#7f8c8d;">:</span><span style="font-weight:bold;">;</span>
0172   <span style="color:#fdbc4b;font-weight:bold;">break</span>
0173   <span style="color:#fdbc4b;font-weight:bold;">continue</span>
0174   <span style="color:#fdbc4b;font-weight:bold;">return</span>
0175 <span style="color:#fdbc4b;font-weight:bold;">done</span>
0176 
0177 
0178 <span style="color:#7a7c7d;"># variable assignments:</span>
0179 <span style="color:#27aeae;">DIR</span><span style="color:#3f8058;">=</span>/dev
0180 <span style="color:#27aeae;">p</span><span style="color:#3f8058;">=</span><span style="font-weight:bold;">`</span><span style="color:#8e44ad;">ls</span><span style="font-weight:bold;">`</span>
0181 <span style="color:#27aeae;">LC_ALL</span><span style="color:#3f8058;">=</span><span style="color:#f44f4f;">&quot;nl&quot;</span> <span style="color:#8e44ad;">dcop</span> <span style="color:#f44f4f;">'kate*'</span>
0182 <span style="color:#27aeae;">_VAR</span><span style="color:#3f8058;">=</span>val
0183 <span style="color:#27aeae;">ARR</span><span style="color:#3f8058;">=</span><span style="color:#27aeae;">(</span>this is an array<span style="color:#27aeae;">)</span>
0184 <span style="color:#27aeae;">ARR2</span><span style="color:#3f8058;">=</span><span style="color:#27aeae;">(</span><span style="color:#3f8058;">[</span>this<span style="color:#3f8058;">]</span><span style="color:#27aeae;">=</span>too <span style="color:#3f8058;">[</span>and<span style="color:#3f8058;">]</span><span style="color:#27aeae;">=</span><span style="color:#f44f4f;">&quot;this too&quot;</span><span style="color:#27aeae;">)</span>
0185 <span style="color:#27aeae;">usage</span><span style="color:#3f8058;">=</span><span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">$</span><span style="color:#27aeae;">0</span><span style="color:#f44f4f;"> -- version </span><span style="color:#27aeae;">$</span><span style="color:#27aeae;">VERSION</span>
0186 <span style="color:#f44f4f;">Multiple lines of output</span>
0187 <span style="color:#f44f4f;">can be possible.&quot;</span>
0188 <span style="color:#27aeae;">ANSWER</span><span style="color:#3f8058;">=</span>yes  <span style="color:#7a7c7d;"># here 'yes' isn't highlighed as command</span>
0189 
0190 
0191 <span style="color:#7a7c7d;"># Some commands expect variable names, these are colored correctly:</span>
0192 <span style="color:#7f8c8d;">export</span> <span style="color:#27aeae;">PATH</span><span style="color:#3f8058;">=</span>/my/bin:<span style="color:#27aeae;">$</span><span style="color:#27aeae;">PATH</span> <span style="color:#27aeae;">BLAAT</span>
0193 <span style="color:#7f8c8d;">export</span> <span style="color:#27aeae;">A</span> <span style="color:#27aeae;">B</span> <span style="color:#27aeae;">D</span>
0194 <span style="color:#7f8c8d;">local</span> <span style="color:#27aeae;">p</span><span style="color:#3f8058;">=</span>3  <span style="color:#27aeae;">x</span>  <span style="color:#27aeae;">y</span><span style="color:#3f8058;">=</span><span style="color:#f44f4f;">'\'</span>
0195 <span style="color:#7f8c8d;">read</span> <span style="color:#27aeae;">x</span> <span style="color:#27aeae;">y</span> <span style="color:#27aeae;">z</span> <span style="color:#3f8058;">&lt;&lt;&lt;</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">hallo</span>
0196 <span style="color:#7f8c8d;">unset</span> <span style="color:#27aeae;">B</span>
0197 <span style="color:#7f8c8d;">declare</span> <span style="color:#2980b9;">-a</span> <span style="color:#27aeae;">VAR1</span> <span style="color:#27aeae;">VAR2</span> <span style="font-weight:bold;">&amp;&amp;</span> <span style="color:#7f8c8d;">exit</span>
0198 <span style="color:#7f8c8d;">declare</span> <span style="color:#27aeae;">less</span> <span style="color:#27aeae;">a</span> <span style="font-weight:bold;">&amp;&amp;</span> <span style="color:#0099ff;font-weight:bold;">b</span>
0199 <span style="color:#7f8c8d;">declare</span> <span style="color:#27aeae;">a</span><span style="color:#3f8058;">=</span><span style="color:#27aeae;">(</span>1 2<span style="color:#27aeae;">)</span>
0200 <span style="color:#7f8c8d;">getopts</span> <span style="color:#3f8058;">:</span>h<span style="color:#3f8058;">:</span>l<span style="color:#3f8058;">::</span>d <span style="color:#27aeae;">arg</span>
0201 <span style="color:#7f8c8d;">read</span> <span style="color:#7a7c7d;">#comment</span>
0202 <span style="color:#7f8c8d;">let</span> <span style="color:#27aeae;">a</span><span style="color:#3f8058;">=</span><span style="color:#f67400;">4</span><span style="color:#3f8058;">+</span><span style="color:#f67400;">4</span> <span style="color:#f67400;">3</span><span style="color:#3f8058;">+</span><span style="color:#27aeae;">a</span> <span style="color:#27aeae;">b</span><span style="color:#3f8058;">=</span><span style="color:#27aeae;">c</span><span style="color:#3f8058;">+</span><span style="color:#f67400;">3</span> <span style="color:#27aeae;">d</span><span style="color:#3f8058;">+</span><span style="color:#f67400;">3</span> <span style="color:#27aeae;">d</span><span style="color:#27ae60;">*</span>4 <span style="color:#7a7c7d;"># * is a glob</span>
0203 
0204 <span style="color:#7a7c7d;"># options are recoqnized:</span>
0205 <span style="color:#8e44ad;">zip</span> <span style="color:#2980b9;">-f</span><span style="color:#3f8058;">=</span>file.zip
0206 <span style="color:#0099ff;font-weight:bold;">./configure</span>  <span style="color:#2980b9;">--destdir</span><span style="color:#3f8058;">=</span>/usr
0207 <span style="color:#8e44ad;">make</span>  destdir=/usr/
0208 
0209 
0210 <span style="color:#7a7c7d;"># [[ and [ correctly need spaces to be regarded as structure,</span>
0211 <span style="color:#7a7c7d;"># otherwise they are patterns (currently treated as normal text)</span>
0212 <span style="color:#fdbc4b;font-weight:bold;">if</span> <span style="color:#7f8c8d;">[</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">$</span><span style="color:#27aeae;">p</span><span style="color:#f44f4f;">&quot;</span> <span style="color:#27ae60;">==</span> <span style="color:#f44f4f;">&quot;&quot;</span> <span style="color:#7f8c8d;">]</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">then</span>
0213     <span style="color:#8e44ad;">ls</span> /usr/bin/<span style="color:#27ae60;">[</span><span style="color:#da4453;">a</span><span style="color:#27ae60;">-</span><span style="color:#da4453;">z</span><span style="color:#27ae60;">]*</span>
0214 <span style="color:#fdbc4b;font-weight:bold;">elif</span> <span style="font-weight:bold;">[[</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">p</span> <span style="color:#27ae60;">==</span> 0 <span style="font-weight:bold;">]]</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">then</span>
0215     <span style="color:#8e44ad;">ls</span> /usr/share/<span style="color:#27aeae;">$</span><span style="color:#27aeae;">p</span>
0216 <span style="color:#fdbc4b;font-weight:bold;">fi</span>
0217 
0218 <span style="color:#7a7c7d;"># Fixed:</span>
0219 <span style="color:#8e44ad;">ls</span> a<span style="color:#27ae60;">[</span><span style="color:#da4453;">ab</span><span style="color:#27ae60;">]*</span>       <span style="color:#7a7c7d;"># dont try to interprete as assignment with subscript (fixed)</span>
0220 <span style="color:#27aeae;">a</span><span style="color:#3f8058;">[</span>ab<span style="color:#3f8058;">]</span>
0221 <span style="color:#27aeae;">a</span><span style="color:#3f8058;">[</span>ab<span style="color:#3f8058;">]</span><span style="color:#3f8058;">=</span>sa
0222 
0223 
0224 <span style="color:#7a7c7d;"># Here documents are difficult to catch:</span>
0225 <span style="color:#8e44ad;">cat</span> <span style="color:#3f8058;">&gt;</span> myfile <span style="color:#3f8058;">&lt;&lt; __EOF__</span>
0226 <span style="color:#f44f4f;">You're right, this is definitely no bash code</span>
0227 <span style="color:#f44f4f;">But ls more </span><span style="color:#27aeae;">$</span><span style="color:#27aeae;">parameters</span><span style="color:#f44f4f;"> should be expanded.</span>
0228 <span style="color:#3f8058;">__EOF__</span>
0229 
0230 
0231 <span style="color:#7a7c7d;"># quoted:</span>
0232 <span style="color:#8e44ad;">cat</span> <span style="color:#3f8058;">&lt;&lt; &quot;EOF&quot;</span> <span style="font-weight:bold;">|</span> <span style="color:#8e44ad;">egrep</span> <span style="color:#f44f4f;">&quot;this&quot;</span> <span style="color:#3f8058;">&gt;&amp;</span><span style="color:#f67400;">4</span>   <span style="color:#7a7c7d;"># the rest of the line is still considered bash source</span>
0233 <span style="color:#f44f4f;">You're right, this is definitely no bash code</span>
0234 <span style="color:#f44f4f;">But ls more $parameters should be expanded. :-&gt;</span>
0235 <span style="color:#3f8058;">EOF</span>
0236 
0237 <span style="color:#8e44ad;">cat</span> <span style="color:#3f8058;">&lt;&lt;bla</span> <span style="font-weight:bold;">||</span> <span style="color:#7f8c8d;">exit</span>
0238 <span style="color:#f44f4f;">bla bla</span>
0239 <span style="color:#3f8058;">bla</span>
0240 
0241 
0242 <span style="color:#7a7c7d;"># indented:</span>
0243 <span style="color:#fdbc4b;font-weight:bold;">if</span> <span style="color:#8e44ad;">true</span>
0244 <span style="color:#fdbc4b;font-weight:bold;">then</span>
0245     <span style="color:#8e44ad;">cat</span> <span style="color:#3f8058;">&lt;&lt;- EOF</span>
0246 <span style="color:#f44f4f;">       Indented text with a </span><span style="color:#27aeae;">$</span><span style="color:#27aeae;">dollar</span><span style="color:#f44f4f;"> or </span><span style="color:#2980b9;">\$</span><span style="color:#f44f4f;">two</span>
0247 <span style="color:#3f8058;">   EOF</span>
0248 <span style="color:#fdbc4b;font-weight:bold;">elif</span> <span style="color:#7f8c8d;">[</span> <span style="color:#27ae60;">-d</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">file</span> <span style="color:#7f8c8d;">]</span><span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">then</span>
0249     <span style="color:#8e44ad;">cat</span> <span style="color:#3f8058;">&lt;&lt;- &quot;EOF&quot;</span>
0250 <span style="color:#f44f4f;">       Indented text without a $dollar</span>
0251 <span style="color:#3f8058;">   EOF</span>
0252 <span style="color:#fdbc4b;font-weight:bold;">fi</span>
0253 
0254 <span style="color:#fdbc4b;font-weight:bold;">if</span> <span style="color:#27ae60;">! </span><span style="font-weight:bold;">{</span> <span style="color:#0099ff;font-weight:bold;">cmd1</span> <span style="font-weight:bold;">&amp;&amp;</span> <span style="color:#0099ff;font-weight:bold;">cmd2</span> <span style="font-weight:bold;">;</span> <span style="font-weight:bold;">}</span><span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">then</span> <span style="color:#7f8c8d;">echo</span> ok <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">fi</span>
0255 <span style="color:#fdbc4b;font-weight:bold;">if</span> <span style="color:#27ae60;">! </span><span style="color:#0099ff;font-weight:bold;">cmd1</span> arg<span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">then</span> <span style="color:#7f8c8d;">echo</span> ok <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">fi</span>
0256 
0257 <span style="color:#fdbc4b;font-weight:bold;">case</span> 1 <span style="font-weight:bold;">in</span>
0258 <span style="color:#da4453;">2</span><span style="font-weight:bold;">)</span> <span style="color:#7f8c8d;">echo</span> xxx<span style="font-weight:bold;">;</span>
0259 <span style="color:#fdbc4b;font-weight:bold;">;;</span>
0260 <span style="color:#27ae60;">?</span><span style="font-weight:bold;">)</span> <span style="color:#0099ff;font-weight:bold;">foo</span> <span style="font-weight:bold;">||</span> <span style="color:#0099ff;font-weight:bold;">yyy</span> <span style="font-weight:bold;">;</span> <span style="color:#0099ff;font-weight:bold;">foo</span> abc <span style="font-weight:bold;">||</span> <span style="color:#7f8c8d;">echo</span> abc <span style="color:#fdbc4b;font-weight:bold;">;;</span>
0261 <span style="color:#da4453;">1</span><span style="font-weight:bold;">)</span> <span style="color:#7f8c8d;">echo</span> yyy<span style="font-weight:bold;">;</span>
0262 <span style="color:#fdbc4b;font-weight:bold;">esac</span>
0263 
0264 <span style="color:#8e44ad;">ls</span> <span style="color:#7a7c7d;">#should be outside of case 1 folding block</span>
0265 
0266 <span style="color:#fdbc4b;font-weight:bold;">for</span> i <span style="font-weight:bold;">in</span> <span style="font-weight:bold;">`</span><span style="color:#8e44ad;">ls</span> tests/auto/output/<span style="color:#27ae60;">*</span>.html<span style="font-weight:bold;">`</span><span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">do</span>
0267     <span style="color:#27aeae;">refFile</span><span style="color:#3f8058;">=</span><span style="font-weight:bold;">`</span><span style="color:#7f8c8d;">echo</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">i</span> <span style="font-weight:bold;">|</span> <span style="color:#8e44ad;">sed</span> <span style="color:#2980b9;">-e</span> s,build,src, <span style="font-weight:bold;">|</span> <span style="color:#8e44ad;">sed</span> <span style="color:#2980b9;">-e</span> s,output,reference, <span style="font-weight:bold;">|</span> <span style="color:#8e44ad;">sed</span> <span style="color:#2980b9;">-e</span> s,.html,.ref.html,<span style="font-weight:bold;">`</span>
0268     <span style="color:#8e44ad;">cp</span> <span style="color:#2980b9;">-v</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">i</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">refFile</span>
0269 <span style="color:#fdbc4b;font-weight:bold;">done</span>
0270 
0271 <span style="color:#7a7c7d;">## &gt;Settings &gt;Configure Kate &gt;Fonts &amp; Colors &gt;Highlitghing Text Styles &gt;Scripts/Bash &gt;Option &gt;Change colors to some distinct color</span>
0272 <span style="color:#7a7c7d;">## 1- In following line the -ucode should not be colored as option</span>
0273 
0274 <span style="color:#0099ff;font-weight:bold;">pacman</span> <span style="color:#2980b9;">-Syu</span> <span style="color:#2980b9;">--needed</span> intel-ucode grub
0275 <span style="color:#0099ff;font-weight:bold;">pacman</span> <span style="color:#2980b9;">-syu</span> <span style="color:#2980b9;">--needed</span> intel-ucode grub
0276 
0277 <span style="color:#7a7c7d;"># Braces (bug ##387915)</span>
0278 <span style="font-weight:bold;">[[</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">line_name</span> <span style="color:#27ae60;">=~</span> <span style="color:#2980b9;">\{</span><span style="color:#3f8058;">([</span><span style="color:#da4453;">0</span><span style="color:#3f8058;">-</span><span style="color:#da4453;">9</span><span style="color:#3f8058;">]</span><span style="color:#27aeae;">{</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">,</span><span style="color:#27aeae;">}</span><span style="color:#3f8058;">)</span><span style="color:#2980b9;">\}\{</span><span style="color:#3f8058;">([</span><span style="color:#da4453;">0</span><span style="color:#3f8058;">-</span><span style="color:#da4453;">9</span><span style="color:#3f8058;">]</span><span style="color:#27aeae;">{</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">,</span><span style="color:#27aeae;">}</span><span style="color:#3f8058;">)</span><span style="color:#2980b9;">\}</span><span style="color:#3f8058;">(</span><span style="color:#27ae60;">.*</span><span style="color:#3f8058;">)</span> <span style="font-weight:bold;">]]</span>
0279 <span style="font-weight:bold;">[[</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">name</span> <span style="color:#27ae60;">=~</span> <span style="color:#3f8058;">(</span><span style="color:#27ae60;">.*</span><span style="color:#3f8058;">)</span><span style="color:#da4453;">_</span><span style="color:#3f8058;">(</span><span style="color:#da4453;">S</span><span style="color:#3f8058;">[</span><span style="color:#da4453;">0</span><span style="color:#3f8058;">-</span><span style="color:#da4453;">9</span><span style="color:#3f8058;">]</span><span style="color:#27aeae;">{</span><span style="color:#f67400;">2</span><span style="color:#27aeae;">}</span><span style="color:#3f8058;">)(</span><span style="color:#da4453;">E</span><span style="color:#3f8058;">[</span><span style="color:#da4453;">0</span><span style="color:#3f8058;">-</span><span style="color:#da4453;">9</span><span style="color:#3f8058;">]</span><span style="color:#27aeae;">{</span><span style="color:#f67400;">2</span><span style="color:#3f8058;">,</span><span style="color:#f67400;">3</span><span style="color:#27aeae;">}</span><span style="color:#3f8058;">[</span><span style="color:#da4453;">a</span><span style="color:#3f8058;">-</span><span style="color:#da4453;">z</span><span style="color:#3f8058;">]</span><span style="color:#27aeae;">{</span><span style="color:#f67400;">0</span><span style="color:#3f8058;">,</span><span style="color:#f67400;">1</span><span style="color:#27aeae;">}</span><span style="color:#3f8058;">)</span><span style="color:#da4453;">_</span><span style="color:#3f8058;">(</span><span style="color:#27ae60;">.*</span><span style="color:#3f8058;">)</span> <span style="font-weight:bold;">]]</span>
0280 <span style="color:#7a7c7d;"># Comments in Braces (bug 450878)</span>
0281 <span style="font-weight:bold;">[[</span> <span style="color:#7a7c7d;"># comment 1</span>
0282    1 <span style="color:#27ae60;">==</span> 1 <span style="color:#7a7c7d;"># comment 2</span>
0283    <span style="color:#7a7c7d;"># comment 3</span>
0284 <span style="font-weight:bold;">]]</span>
0285 
0286 <span style="color:#8e44ad;">rm</span> /data/<span style="color:#2980b9;">{hello1</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">hello2}</span>/input/<span style="color:#2980b9;">{bye1</span><span style="color:#3f8058;">,</span><span style="color:#27aeae;">$</span><span style="color:#27aeae;">bye2</span><span style="color:#2980b9;">}</span>/si<span style="color:#2980b9;">{a</span><span style="color:#3f8058;">,</span><span style="color:#27aeae;">${</span><span style="color:#27aeae;">b</span><span style="color:#27aeae;">}</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">c{k</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">p{e</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">a}}}</span>/<span style="color:#27ae60;">*</span>.non
0287 <span style="color:#8e44ad;">rm</span> /data/{aa,<span style="color:#2980b9;">{e</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">i}</span>t<span style="color:#2980b9;">{b</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">c}</span> <span style="color:#7a7c7d;"># Not closed</span>
0288 <span style="color:#8e44ad;">rm</span> /data/<span style="color:#2980b9;">{aa</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">{e</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">i}t{b</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">c}}</span>
0289 <span style="color:#8e44ad;">rm</span> /data/<span style="color:#2980b9;">{aa</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">{i}}</span>
0290 <span style="color:#8e44ad;">rm</span> /data{aa{bb{cc{dd}}}}
0291 <span style="color:#8e44ad;">rm</span> /data{aaa<span style="font-weight:bold;">`</span><span style="color:#0099ff;font-weight:bold;">aaa}aa</span><span style="font-weight:bold;">`</span>aaa}a
0292 
0293 <span style="color:#27aeae;">${</span><span style="color:#27aeae;">array</span><span style="color:#3f8058;">[</span><span style="color:#f67400;">0</span><span style="color:#3f8058;">]:</span> -<span style="color:#f67400;">7</span> <span style="color:#3f8058;">:</span> +  <span style="color:#f67400;">22</span>  <span style="color:#27aeae;">}</span>  <span style="color:#27aeae;">${</span><span style="color:#27aeae;">array</span><span style="color:#3f8058;">[</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">]:</span> num  <span style="color:#27aeae;">}</span>
0294 <span style="color:#27aeae;">${</span><span style="color:#27aeae;">parameter</span><span style="color:#3f8058;">##</span>word<span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">parameter</span><span style="color:#3f8058;">%%</span>word<span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">parameter</span><span style="color:#3f8058;">^^</span><span style="color:#da4453;">pattern</span><span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">parameter</span><span style="color:#3f8058;">,,</span><span style="color:#da4453;">pattern</span><span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">parameter</span><span style="color:#3f8058;">@</span><span style="color:#da4453;text-decoration:underline;">operator</span><span style="color:#27aeae;">}</span>
0295 
0296 <span style="color:#7a7c7d;"># </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold;">TODO</span><span style="color:#7a7c7d;"> `</span>
0297 
0298 <span style="color:#7a7c7d;"># commands</span>
0299 <span style="color:#0099ff;font-weight:bold;">abc</span>
0300 <span style="color:#8e44ad;">cp</span>
0301 <span style="color:#7f8c8d;">:</span>
0302 <span style="color:#7f8c8d;">.</span>
0303 <span style="color:#0099ff;font-weight:bold;">:#nokeyword</span>
0304 <span style="color:#0099ff;font-weight:bold;">path/cmd</span>
0305 <span style="color:#0099ff;font-weight:bold;">ec</span><span style="color:#2980b9;">\</span>
0306 <span style="color:#0099ff;font-weight:bold;">ho</span>
0307 <span style="color:#0099ff;font-weight:bold;">2</span>
0308 <span style="color:#0099ff;font-weight:bold;">{ab}c</span>
0309 <span style="color:#2980b9;">{a</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">b}</span><span style="color:#0099ff;font-weight:bold;">c</span>
0310 <span style="color:#f44f4f;">'a'</span><span style="color:#0099ff;font-weight:bold;">c</span>
0311 <span style="color:#27aeae;">$</span><span style="color:#27aeae;">ab</span>
0312 <span style="color:#27aeae;">${</span><span style="color:#27aeae;">ab</span><span style="color:#27aeae;">}</span><span style="color:#0099ff;font-weight:bold;">c</span>
0313 <span style="color:#0099ff;font-weight:bold;">\ a</span>
0314 <span style="color:#0099ff;font-weight:bold;">!a</span>
0315 <span style="color:#0099ff;font-weight:bold;">{ab}[</span>
0316 <span style="color:#2980b9;">{a</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">b}</span><span style="color:#0099ff;font-weight:bold;">[</span>
0317 <span style="color:#f44f4f;">'a'</span><span style="color:#0099ff;font-weight:bold;">[</span>
0318 <span style="color:#0099ff;font-weight:bold;">\ [</span>
0319 <span style="color:#0099ff;font-weight:bold;">!a[</span>
0320 <span style="color:#0099ff;font-weight:bold;">a{}d</span>
0321 <span style="color:#0099ff;font-weight:bold;">a{bc}d</span>
0322 <span style="color:#0099ff;font-weight:bold;">a</span><span style="color:#2980b9;">{b</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">c}</span><span style="color:#0099ff;font-weight:bold;">d</span>
0323 <span style="color:#0099ff;font-weight:bold;">a</span><span style="color:#f44f4f;">'b'</span><span style="color:#0099ff;font-weight:bold;">c</span>
0324 <span style="color:#0099ff;font-weight:bold;">a</span><span style="color:#27aeae;">$</span><span style="color:#27aeae;">bc</span>
0325 <span style="color:#0099ff;font-weight:bold;">a</span><span style="color:#27aeae;">${</span><span style="color:#27aeae;">bc</span><span style="color:#27aeae;">}</span><span style="color:#0099ff;font-weight:bold;">d</span>
0326 <span style="color:#0099ff;font-weight:bold;">a\ b</span>
0327 <span style="color:#0099ff;font-weight:bold;">a!b</span>
0328 <span style="color:#0099ff;font-weight:bold;">a{}[</span>
0329 <span style="color:#0099ff;font-weight:bold;">a{bc}[</span>
0330 <span style="color:#0099ff;font-weight:bold;">a</span><span style="color:#2980b9;">{b</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">c}</span><span style="color:#0099ff;font-weight:bold;">[</span>
0331 <span style="color:#0099ff;font-weight:bold;">a</span><span style="color:#f44f4f;">'b'</span><span style="color:#0099ff;font-weight:bold;">[</span>
0332 <span style="color:#0099ff;font-weight:bold;">a\ [</span>
0333 <span style="color:#0099ff;font-weight:bold;">a!b[</span>
0334 
0335 <span style="color:#7a7c7d;"># commands + params</span>
0336 <span style="color:#0099ff;font-weight:bold;">shortopt</span> <span style="color:#2980b9;">-ol</span> <span style="color:#2980b9;">-f</span>/fd/fd <span style="color:#2980b9;">-hfd</span>/fds <span style="color:#2980b9;">-</span> <span style="color:#2980b9;">-ol</span><span style="color:#f44f4f;">'a'</span><span style="color:#2980b9;">b</span> <span style="color:#2980b9;">-f</span><span style="color:#f44f4f;">'a'</span>/fd/fd <span style="color:#2980b9;">-h</span><span style="color:#f44f4f;">'a'</span><span style="color:#2980b9;">fd</span>/fds
0337 <span style="color:#0099ff;font-weight:bold;">longopt</span> <span style="color:#2980b9;">--long-a</span> <span style="color:#2980b9;">--long-b</span><span style="color:#3f8058;">=</span>value <span style="color:#2980b9;">--file</span><span style="color:#3f8058;">=</span><span style="color:#27ae60;">*</span> <span style="color:#2980b9;">--file</span><span style="color:#3f8058;">=</span>file<span style="color:#27ae60;">*</span> <span style="color:#2980b9;">--file</span><span style="color:#3f8058;">=</span>dir/file
0338 <span style="color:#0099ff;font-weight:bold;">longopt</span> <span style="color:#2980b9;">--long-a</span><span style="color:#f44f4f;">'a'</span><span style="color:#2980b9;">b</span> <span style="color:#2980b9;">--long</span><span style="color:#f44f4f;">'a'</span><span style="color:#2980b9;">-b</span><span style="color:#3f8058;">=</span>value <span style="color:#2980b9;">--fi</span><span style="color:#f44f4f;">'a'</span><span style="color:#2980b9;">le</span><span style="color:#3f8058;">=</span><span style="color:#27ae60;">*</span>
0339 <span style="color:#0099ff;font-weight:bold;">noopt</span> 3 3d <span style="color:#2980b9;">-f</span> <span style="color:#2980b9;">--</span> <span style="color:#2980b9;">-f</span> <span style="color:#2980b9;">--xx</span> dir/file
0340 <span style="color:#0099ff;font-weight:bold;">opt</span> param#nocomment ab<span style="color:#f44f4f;">'a'</span>cd [[ param ]] } { ~a .a <span style="color:#7a7c7d;">#comments</span>
0341 <span style="color:#0099ff;font-weight:bold;">path</span> path/file dir/ / // 3/f a@/ <span style="color:#f44f4f;">'a'</span>/b d/<span style="color:#f44f4f;">'a'</span>b a\ d/f f/f<span style="color:#2980b9;">\</span>
0342 ile
0343 <span style="color:#0099ff;font-weight:bold;">path</span> ~ ~/ ~a/ . .. ./a ../a
0344 <span style="color:#0099ff;font-weight:bold;">path</span> /path/<span style="color:#27ae60;">*</span> /path/f<span style="color:#27ae60;">*</span> /path/f@ /path/f<span style="color:#27ae60;">@(|)</span> {a/b} a{b}/c a/b{c} a/{b} a/{b}c
0345 <span style="color:#0099ff;font-weight:bold;">glob</span> <span style="color:#27ae60;">?</span> <span style="color:#27ae60;">*</span> <span style="color:#27ae60;">?</span>f <span style="color:#27ae60;">*</span>f f<span style="color:#27ae60;">*</span> f<span style="color:#27ae60;">?</span> <span style="color:#27ae60;">**</span>/ ~/<span style="color:#27ae60;">*</span> ~<span style="color:#27ae60;">*</span> /path/f<span style="color:#27ae60;">*</span> <span style="color:#f44f4f;">'a'</span><span style="color:#27ae60;">*</span> <span style="color:#f44f4f;">'a'</span>f/<span style="color:#27ae60;">?</span>
0346 <span style="color:#0099ff;font-weight:bold;">extglob</span> @ <span style="color:#27ae60;">@(*)</span> <span style="color:#27ae60;">@(</span>f<span style="color:#27ae60;">*|</span>f<span style="color:#27ae60;">??(</span>f<span style="color:#27ae60;">))</span> f<span style="color:#27ae60;">!(+(?(@(*(</span>f<span style="color:#27ae60;">)</span>f<span style="color:#27ae60;">)</span>f<span style="color:#27ae60;">)</span>f<span style="color:#27ae60;">)</span>f<span style="color:#27ae60;">)</span>f @<span style="color:#f44f4f;">'a'</span><span style="color:#27ae60;">@(|)</span> a<span style="color:#27ae60;">@(?)</span>
0347 <span style="color:#0099ff;font-weight:bold;">subs</span> f! f!! f!s <span style="color:#f44f4f;">'a'</span>!s <span style="color:#2980b9;">\(</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">v</span> <span style="color:#2980b9;">{a</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">b}</span> {a} {a}/d {a<span style="color:#2980b9;">\,</span>} <span style="color:#2980b9;">{a</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">}</span> <span style="color:#2980b9;">{a</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">\}</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">b}</span> ds/<span style="color:#2980b9;">{a</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">b}</span>sa/s
0348 <span style="color:#0099ff;font-weight:bold;">2</span> <span style="color:#2980b9;">-</span> f <span style="color:#2980b9;">-f</span>
0349 <span style="color:#0099ff;font-weight:bold;">!a</span> <span style="color:#2980b9;">-f</span>
0350 <span style="color:#f44f4f;">'a'</span> <span style="color:#2980b9;">-f</span>
0351 <span style="color:#27aeae;">$</span><span style="color:#27aeae;">a</span> <span style="color:#2980b9;">-f</span>
0352 <span style="color:#27ae60;">! </span><span style="color:#0099ff;font-weight:bold;">cmd</span>
0353 
0354 <span style="color:#7a7c7d;"># coproc command (#460301)</span>
0355 <span style="color:#7f8c8d;">coproc</span> <span style="color:#8e44ad;">ls</span> thisfiledoesntexist <span style="color:#f67400;">2</span><span style="color:#3f8058;">&gt;&amp;</span><span style="color:#f67400;">1</span>
0356 <span style="color:#7f8c8d;">coproc</span> <span style="font-weight:bold;">{</span> <span style="color:#8e44ad;">ls</span> thisfiledoesntexist<span style="font-weight:bold;">;</span> <span style="color:#7f8c8d;">read</span><span style="font-weight:bold;">;</span> <span style="font-weight:bold;">}</span> <span style="color:#f67400;">2</span><span style="color:#3f8058;">&gt;&amp;</span><span style="color:#f67400;">1</span>
0357 <span style="color:#7f8c8d;">coproc</span> mycoproc <span style="font-weight:bold;">{</span> <span style="color:#8e44ad;">awk</span> <span style="color:#f44f4f;">'{print &quot;foo&quot; $0;fflush()}'</span><span style="font-weight:bold;">;</span> <span style="font-weight:bold;">}</span> <span style="color:#3f8058;">&gt;&amp;</span><span style="color:#f67400;">3</span>
0358 
0359 <span style="color:#7a7c7d;"># redirections (prefix)</span>
0360 <span style="color:#3f8058;">&lt;&lt;&lt;</span>s <span style="color:#8e44ad;">cat</span>
0361 <span style="color:#3f8058;">&lt;&lt;&lt;</span><span style="color:#f44f4f;">'s'</span> <span style="color:#8e44ad;">cat</span>
0362 <span style="color:#3f8058;">&lt;&lt;&lt;</span><span style="color:#f44f4f;">'s'</span>s <span style="color:#8e44ad;">cat</span>
0363 <span style="color:#3f8058;">&lt;&lt;&lt;</span>s<span style="color:#f44f4f;">'s'</span>s <span style="color:#8e44ad;">cat</span>
0364 <span style="color:#3f8058;">&lt;&lt;&lt;</span>s<span style="color:#27aeae;">${</span><span style="color:#27aeae;">s</span><span style="color:#27aeae;">}</span>s <span style="color:#8e44ad;">cat</span>
0365 <span style="color:#3f8058;">&lt;&lt;&lt;</span> s<span style="color:#27aeae;">${</span><span style="color:#27aeae;">s</span><span style="color:#27aeae;">}</span>s <span style="color:#8e44ad;">cat</span>
0366 <span style="color:#3f8058;">&gt;&amp;</span><span style="color:#f67400;">2</span> <span style="color:#8e44ad;">cat</span>
0367 <span style="color:#3f8058;">&lt;</span>f <span style="color:#8e44ad;">cat</span>
0368 <span style="color:#f67400;">2</span><span style="color:#3f8058;">&gt;</span>3 <span style="color:#8e44ad;">cat</span>
0369 <span style="color:#f67400;">2</span><span style="color:#3f8058;">&gt;&amp;</span><span style="color:#f67400;">3</span> <span style="color:#8e44ad;">cat</span>
0370 <span style="color:#f67400;">2</span><span style="color:#3f8058;">&gt;&amp;</span> <span style="color:#f67400;">3</span> <span style="color:#8e44ad;">cat</span>
0371 <span style="color:#f67400;">2</span><span style="color:#3f8058;">&gt;</span>f <span style="color:#8e44ad;">cat</span>
0372 <span style="color:#3f8058;">&amp;&gt;</span>f <span style="color:#8e44ad;">cat</span>
0373 
0374 <span style="color:#7a7c7d;"># redirections</span>
0375 <span style="color:#8e44ad;">cat</span> f<span style="color:#3f8058;">&gt;</span>2
0376 <span style="color:#8e44ad;">cat</span> d/f<span style="color:#3f8058;">&gt;</span>2
0377 <span style="color:#8e44ad;">cat</span> d/f <span style="color:#3f8058;">&gt;</span>2
0378 <span style="color:#8e44ad;">cat</span> d/f <span style="color:#3f8058;">&gt;&amp;</span> <span style="color:#f67400;">2</span>
0379 <span style="color:#8e44ad;">cat</span> <span style="color:#3f8058;">&gt;</span>2 d/f
0380 <span style="color:#8e44ad;">cat</span> <span style="color:#3f8058;">&gt;</span> 2
0381 <span style="color:#8e44ad;">cat</span> <span style="color:#3f8058;">&lt;(</span><span style="color:#7f8c8d;">echo</span><span style="color:#3f8058;">)</span> <span style="color:#3f8058;">&lt;(</span><span style="color:#7f8c8d;">echo</span> a<span style="color:#3f8058;">)</span> <span style="color:#3f8058;">&lt;(</span><span style="color:#7f8c8d;">echo</span> a/f<span style="color:#3f8058;">)</span> <span style="color:#3f8058;">&lt;(</span><span style="color:#7f8c8d;">echo</span> <span style="color:#3f8058;">)</span> <span style="color:#3f8058;">&lt;(</span><span style="color:#7f8c8d;">echo</span> a <span style="color:#3f8058;">)</span> <span style="color:#3f8058;">&lt;(</span><span style="color:#7f8c8d;">echo</span> a/f <span style="color:#3f8058;">)</span>
0382 <span style="color:#8e44ad;">cat</span> <span style="color:#f67400;">2</span><span style="color:#3f8058;">&gt;&amp;</span><span style="color:#f67400;">1</span> <span style="color:#3f8058;">&amp;&gt;</span>f <span style="color:#3f8058;">&amp;&gt;&gt;</span>f <span style="color:#f67400;">2</span><span style="color:#3f8058;">&lt;&amp;</span><span style="color:#f67400;">1</span><span style="font-weight:bold;">-</span> <span style="color:#f67400;">2</span><span style="color:#3f8058;">&lt;&gt;</span>f <span style="color:#f67400;">2</span><span style="color:#3f8058;">&lt;&lt;heredoc</span>
0383 <span style="color:#f44f4f;">bla bla</span>
0384 <span style="color:#3f8058;">heredoc</span>
0385 <span style="color:#3f8058;">&lt;&lt;-'h'</span> <span style="color:#8e44ad;">cat</span>
0386 <span style="color:#f44f4f;">bla</span>
0387 <span style="color:#3f8058;">h</span>
0388 <span style="color:#3f8058;">&lt;&lt;&quot;'&quot;</span> <span style="color:#8e44ad;">cat</span>
0389 <span style="color:#f44f4f;">bla</span>
0390 <span style="color:#3f8058;">'</span>
0391 <span style="color:#27aeae;">r</span><span style="color:#3f8058;">=</span><span style="color:#27aeae;">$(</span><span style="color:#0099ff;font-weight:bold;">xxx</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">@</span> <span style="color:#f67400;">2</span><span style="color:#3f8058;">&gt;&amp;</span><span style="color:#f67400;">1</span><span style="color:#27aeae;">)</span>
0392 
0393 <span style="color:#7a7c7d;"># branches</span>
0394 <span style="color:#8e44ad;">cat</span> a<span style="font-weight:bold;">|</span><span style="color:#8e44ad;">cat</span>
0395 <span style="color:#8e44ad;">cat</span> a<span style="font-weight:bold;">&amp;</span><span style="color:#8e44ad;">cat</span>
0396 <span style="color:#8e44ad;">cat</span> a<span style="font-weight:bold;">||</span><span style="color:#8e44ad;">cat</span>
0397 <span style="color:#8e44ad;">cat</span> a<span style="font-weight:bold;">&amp;&amp;</span><span style="color:#8e44ad;">cat</span>
0398 <span style="color:#8e44ad;">cat</span> a<span style="font-weight:bold;">;</span><span style="color:#8e44ad;">cat</span>
0399 <span style="color:#8e44ad;">cat</span> a <span style="font-weight:bold;">|</span> <span style="color:#8e44ad;">cat</span>
0400 <span style="color:#8e44ad;">cat</span> a <span style="font-weight:bold;">&amp;</span> <span style="color:#8e44ad;">cat</span>
0401 <span style="color:#8e44ad;">cat</span> a <span style="font-weight:bold;">||</span> <span style="color:#8e44ad;">cat</span>
0402 <span style="color:#8e44ad;">cat</span> a <span style="font-weight:bold;">&amp;&amp;</span> <span style="color:#8e44ad;">cat</span>
0403 <span style="color:#8e44ad;">cat</span> a <span style="font-weight:bold;">;</span> <span style="color:#8e44ad;">cat</span>
0404 <span style="color:#8e44ad;">cat</span> a<span style="color:#f44f4f;">'a'</span><span style="font-weight:bold;">;</span><span style="color:#8e44ad;">cat</span>
0405 
0406 <span style="color:#7a7c7d;"># substitutions</span>
0407 <span style="color:#7f8c8d;">echo</span> <span style="color:#f44f4f;">''</span> <span style="color:#f44f4f;">'a'</span> <span style="color:#f44f4f;">'\'</span> <span style="color:#f44f4f;">&quot;&quot;</span> <span style="color:#f44f4f;">&quot;a&quot;</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#2980b9;">\\</span><span style="color:#f44f4f;">&quot;</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">$</span><span style="color:#27aeae;">a</span><span style="color:#f44f4f;">&quot;</span> <span style="color:#f44f4f;">&quot;a&quot;&quot;a&quot;</span><span style="color:#f44f4f;">'a''a'</span> a<span style="color:#f44f4f;">'b'</span>c a<span style="color:#f44f4f;">&quot;b&quot;</span>c a<span style="color:#f44f4f;">$'</span><span style="color:#2980b9;">\n</span><span style="color:#f44f4f;">'</span>c
0408 <span style="color:#7f8c8d;">echo</span> a!bc a{a}b a<span style="color:#2980b9;">{b</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">c}</span>d a<span style="color:#2980b9;">{b</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">{d</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">e}}</span>d a<span style="color:#2980b9;">\ </span>b
0409 <span style="color:#7f8c8d;">echo</span> a<span style="color:#27aeae;">$</span><span style="color:#27aeae;">bc</span> a<span style="color:#27aeae;">$</span><span style="color:#27aeae;">b</span>/c a<span style="color:#27aeae;">${</span><span style="color:#27aeae;">b</span><span style="color:#27aeae;">}</span>c a<span style="color:#27aeae;">$((</span><span style="color:#27aeae;">b</span><span style="color:#3f8058;">-</span><span style="color:#f67400;">3</span><span style="color:#27aeae;">))</span>c a<span style="color:#27aeae;">$(</span><span style="color:#0099ff;font-weight:bold;">b</span><span style="color:#27aeae;">)</span>c a<span style="color:#27aeae;">$(</span><span style="color:#0099ff;font-weight:bold;">a</span> b c<span style="color:#27aeae;">)</span>c
0410 <span style="color:#7f8c8d;">echo</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">a</span><span style="color:#3f8058;">[*]</span><span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">a</span><span style="color:#3f8058;">[@]</span><span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">a</span><span style="color:#3f8058;">[</span><span style="color:#27aeae;">${</span><span style="color:#27aeae;">b</span><span style="color:#27aeae;">}</span><span style="color:#3f8058;">]</span><span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">a</span><span style="color:#3f8058;">:-</span>x<span style="color:#27aeae;">$</span><span style="color:#27aeae;">z</span><span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">a</span><span style="color:#3f8058;">-</span>x<span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">a</span><span style="color:#3f8058;">/</span><span style="color:#da4453;">g</span><span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">a</span><span style="color:#3f8058;">//</span><span style="color:#da4453;">f</span><span style="color:#3f8058;">/</span>f<span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">a</span><span style="color:#3f8058;">//</span><span style="color:#da4453;">f</span><span style="color:#27ae60;">*</span><span style="color:#3f8058;">/</span>f<span style="color:#27ae60;">*</span><span style="color:#27aeae;">}</span>
0411 <span style="color:#7f8c8d;">echo</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">a</span><span style="color:#3f8058;">^^</span><span style="color:#da4453;">l</span><span style="color:#27ae60;">*</span><span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">a</span><span style="color:#3f8058;">,</span><span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#3f8058;">!</span><span style="color:#27aeae;">a</span><span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#3f8058;">#</span><span style="color:#27aeae;">a</span><span style="color:#3f8058;">[</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">]</span><span style="color:#27aeae;">}</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">a</span><span style="color:#3f8058;">:</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">:</span><span style="color:#27aeae;">$</span><span style="color:#27aeae;">b</span><span style="color:#27aeae;">}</span> <span style="color:#27aeae;">$((</span><span style="color:#3f8058;">++</span><span style="color:#27aeae;">i</span><span style="font-weight:bold;">,</span><span style="color:#27aeae;">i</span><span style="color:#3f8058;">--</span><span style="color:#27aeae;">))</span>
0412 <span style="color:#7f8c8d;">echo</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${</span><span style="color:#27aeae;">var</span><span style="color:#3f8058;">#</span>lo<span style="color:#27ae60;">+(</span>r<span style="color:#27ae60;">)</span>em<span style="color:#27aeae;">}</span><span style="color:#f44f4f;">&quot;</span> x <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${</span><span style="color:#27aeae;">var</span><span style="color:#3f8058;">#</span><span style="color:#27ae60;">+(</span>r<span style="color:#27ae60;">)</span>em<span style="color:#27aeae;">}</span><span style="color:#f44f4f;">&quot;</span> x
0413 <span style="color:#7f8c8d;">echo</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${</span><span style="color:#27aeae;">var</span><span style="color:#3f8058;">#</span>refs/heads<span style="color:#27aeae;">}</span><span style="color:#f44f4f;">&quot;</span> x <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">${</span><span style="color:#27aeae;">var</span><span style="color:#3f8058;">#</span>refs<span style="color:#27aeae;">}</span><span style="color:#f44f4f;">&quot;</span> x
0414 
0415 <span style="color:#7f8c8d;">[</span> a <span style="color:#7f8c8d;">]</span>
0416 <span style="color:#7f8c8d;">[</span> <span style="color:#27ae60;">-f</span> f<span style="color:#f44f4f;">'f'</span>f <span style="color:#7f8c8d;">]</span>
0417 <span style="color:#7f8c8d;">[</span> <span style="color:#27ae60;">-f</span> f]<span style="color:#f44f4f;">'f'</span>f] <span style="color:#7f8c8d;">]</span>
0418 <span style="color:#7f8c8d;">[</span> <span style="color:#27ae60;">-t</span> 13 <span style="color:#7f8c8d;">]</span>
0419 <span style="color:#7f8c8d;">[</span> <span style="color:#27ae60;">-t</span> 13] <span style="color:#7f8c8d;">]</span>
0420 <span style="color:#7f8c8d;">[</span> <span style="color:#27ae60;">-t</span> 13] <span style="color:#7f8c8d;">]</span>
0421 <span style="color:#7f8c8d;">[</span> <span style="color:#27ae60;">-v</span> abc <span style="color:#7f8c8d;">]</span>
0422 <span style="color:#7f8c8d;">[</span> <span style="color:#27ae60;">-z</span> abc <span style="color:#7f8c8d;">]</span>
0423 <span style="color:#7f8c8d;">[</span> abc <span style="color:#27ae60;">-ef</span> abc <span style="color:#7f8c8d;">]</span>
0424 <span style="color:#7f8c8d;">[</span> abc <span style="color:#27ae60;">-ef</span> abc <span style="color:#7f8c8d;">]</span>
0425 <span style="color:#7f8c8d;">[</span> abc-ef <span style="color:#27ae60;">-ef</span> abc-ef <span style="color:#7f8c8d;">]</span>
0426 <span style="color:#7f8c8d;">[</span> abc <span style="color:#27ae60;">==</span> abc <span style="color:#7f8c8d;">]</span>
0427 <span style="color:#7f8c8d;">[</span> abc <span style="color:#da4453;text-decoration:underline;">&lt;</span> abc <span style="color:#7f8c8d;">]</span>
0428 <span style="color:#7f8c8d;">[</span> abc <span style="color:#27ae60;">-eq</span> abc <span style="color:#7f8c8d;">]</span>
0429 <span style="font-weight:bold;">[[</span> abc <span style="color:#27ae60;">-eq</span> abc <span style="font-weight:bold;">]]</span>
0430 <span style="color:#7f8c8d;">[</span> 1+2 <span style="color:#27ae60;">-eq</span> 1+2 <span style="color:#7f8c8d;">]</span>
0431 <span style="font-weight:bold;">[[</span> 1+2 <span style="color:#27ae60;">-eq</span> 1+2 <span style="font-weight:bold;">]]</span>
0432 <span style="color:#7f8c8d;">[</span> a <span style="color:#27ae60;">=</span> b <span style="color:#da4453;text-decoration:underline;">c</span> <span style="color:#0099ff;font-weight:bold;">]</span>
0433 <span style="font-weight:bold;">[[</span> a <span style="color:#27ae60;">=</span> b <span style="color:#da4453;text-decoration:underline;">c</span> <span style="color:#0099ff;font-weight:bold;">]]</span>
0434 <span style="color:#7f8c8d;">[</span> <span style="color:#27ae60;">-z</span> 1 <span style="color:#27ae60;">-a</span> 1 <span style="color:#27ae60;">-eq</span> 1 <span style="color:#7f8c8d;">]</span>
0435 <span style="color:#7f8c8d;">[</span> 2 <span style="color:#27ae60;">-eq</span> 1 <span style="color:#27ae60;">-o</span> 1 <span style="color:#27ae60;">-eq</span> 1 <span style="color:#7f8c8d;">]</span>
0436 <span style="font-weight:bold;">[[</span> x <span style="color:#27ae60;">=~</span> <span style="color:#da4453;">a</span><span style="color:#3f8058;">(</span><span style="color:#da4453;">b c</span><span style="color:#27ae60;">|</span><span style="color:#3f8058;">$)</span><span style="color:#f44f4f;">' '</span><span style="color:#27aeae;">{</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">,</span><span style="color:#27aeae;">}</span><span style="color:#3f8058;">[</span><span style="color:#da4453;">a</span><span style="color:#3f8058;">[.</span><span style="color:#27aeae;">digit</span><span style="color:#3f8058;">.]</span><span style="color:#3f8058;">]</span> <span style="font-weight:bold;">]]</span>
0437 <span style="font-weight:bold;">[[</span> x <span style="color:#27ae60;">=~</span> <span style="color:#3f8058;">[</span> <span style="color:#da4453;text-decoration:underline;">] </span><span style="color:#0099ff;font-weight:bold;">]]</span>
0438 <span style="font-weight:bold;">[[</span> x <span style="color:#27ae60;">=~</span> <span style="color:#3f8058;">([</span><span style="color:#da4453;"> </span><span style="color:#3f8058;">])</span> <span style="font-weight:bold;">]]</span>
0439 <span style="font-weight:bold;">[[</span> x <span style="color:#27ae60;">=~</span> <span style="color:#3f8058;">[</span> <span style="font-weight:bold;">]]</span>
0440 <span style="font-weight:bold;">[[</span> x <span style="color:#27ae60;">=~</span> <span style="color:#3f8058;">([)</span> <span style="font-weight:bold;">]]</span>
0441 <span style="font-weight:bold;">[[</span> <span style="color:#3f8058;">(</span>a <span style="color:#27ae60;">=~</span> <span style="color:#da4453;">a</span><span style="color:#3f8058;">)</span> <span style="font-weight:bold;">]]</span>
0442 <span style="font-weight:bold;">[[</span> a <span style="color:#27ae60;">=~</span> <span style="color:#da4453;">a</span> <span style="font-weight:bold;">||</span> a <span style="color:#27ae60;">-eq</span> 2 <span style="font-weight:bold;">]]</span>
0443 <span style="font-weight:bold;">[[</span> <span style="color:#3f8058;">(</span>a <span style="color:#27ae60;">=~</span> <span style="color:#da4453;">a</span><span style="color:#3f8058;">)</span> <span style="font-weight:bold;">||</span> a <span style="color:#27ae60;">-eq</span> 2 <span style="font-weight:bold;">]]</span>
0444 <span style="font-weight:bold;">[[</span> <span style="color:#3f8058;">(</span>0 <span style="color:#27ae60;">-le</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">b</span><span style="color:#3f8058;">)</span> <span style="font-weight:bold;">]]</span>
0445 <span style="font-weight:bold;">[[</span> <span style="color:#3f8058;">(</span> 0 <span style="color:#27ae60;">-le</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">b</span> <span style="color:#3f8058;">)</span> <span style="font-weight:bold;">]]</span>
0446 <span style="font-weight:bold;">[[</span> <span style="color:#3f8058;">(</span> 0 <span style="color:#27ae60;">-le</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">b</span> <span style="font-weight:bold;">||</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">b</span> <span style="color:#27ae60;">-le</span> 100 <span style="color:#3f8058;">)</span> <span style="font-weight:bold;">]]</span>
0447 <span style="font-weight:bold;">[[</span> a<span style="color:#27ae60;">&lt;</span>b <span style="font-weight:bold;">]]</span>
0448 <span style="font-weight:bold;">[[</span> a <span style="color:#27ae60;">&lt;</span>b <span style="font-weight:bold;">]]</span>
0449 <span style="font-weight:bold;">[[</span> a<span style="color:#27ae60;">&lt;</span> b <span style="font-weight:bold;">]]</span>
0450 <span style="font-weight:bold;">[[</span> a <span style="color:#27ae60;">&lt;</span> b <span style="font-weight:bold;">]]</span>
0451 <span style="font-weight:bold;">[[</span><span style="color:#3f8058;">(</span><span style="color:#27ae60;">!</span> <span style="color:#27ae60;">-d</span> .<span style="color:#3f8058;">)</span><span style="font-weight:bold;">]]</span>
0452 <span style="font-weight:bold;">[[</span> <span style="color:#27ae60;">!</span> <span style="color:#27ae60;">-d</span> . <span style="font-weight:bold;">]]</span>
0453 <span style="font-weight:bold;">[[</span> <span style="color:#27ae60;">!</span><span style="color:#3f8058;">(</span><span style="color:#27ae60;">-d</span> .<span style="color:#3f8058;">)</span> <span style="font-weight:bold;">]]</span>
0454 <span style="font-weight:bold;">[[</span> <span style="color:#27ae60;">-f</span> a <span style="font-weight:bold;">||</span> <span style="color:#27ae60;">-f</span> b <span style="font-weight:bold;">]]</span>
0455 <span style="font-weight:bold;">[[</span> <span style="color:#27ae60;">-f</span> a<span style="font-weight:bold;">||</span><span style="color:#27ae60;">-f</span> b <span style="font-weight:bold;">]]</span>
0456 <span style="font-weight:bold;">[[</span> <span style="color:#27ae60;">!</span> <span style="color:#3f8058;">(</span>a <span style="color:#27ae60;">-eq</span> b<span style="color:#3f8058;">)</span> <span style="font-weight:bold;">]]</span>
0457 <span style="color:#7f8c8d;">[</span> <span style="color:#27ae60;">-d</span> <span style="font-weight:bold;">`</span><span style="color:#7f8c8d;">echo</span> .<span style="font-weight:bold;">`</span>] <span style="color:#7f8c8d;">]</span>
0458 <span style="font-weight:bold;">[[</span> <span style="color:#27ae60;">-d</span> <span style="font-weight:bold;">`</span><span style="color:#7f8c8d;">echo</span> .<span style="font-weight:bold;">`</span>]] <span style="font-weight:bold;">]]</span>
0459 <span style="font-weight:bold;">[[</span> a <span style="color:#27ae60;">!=</span> b <span style="font-weight:bold;">&amp;&amp;</span> <span style="color:#27aeae;">${</span><span style="color:#27aeae;">a</span><span style="color:#27aeae;">}</span>a <span style="color:#27ae60;">=</span> b<span style="color:#27aeae;">${</span><span style="color:#27aeae;">b</span><span style="color:#27aeae;">}</span> <span style="font-weight:bold;">]]</span>
0460 <span style="font-weight:bold;">[[</span>
0461   1 <span style="color:#27ae60;">-eq</span> 2
0462 <span style="font-weight:bold;">]]</span>
0463 <span style="font-weight:bold;">[[</span> -<span style="font-weight:bold;">&amp;&amp;</span>- <span style="font-weight:bold;">]]</span>
0464 <span style="font-weight:bold;">[[</span> <span style="font-weight:bold;">]]</span>
0465 <span style="font-weight:bold;">[[</span> <span style="color:#27ae60;">-f</span> <span style="font-weight:bold;">]]</span>
0466 <span style="font-weight:bold;">[[</span> <span style="color:#27ae60;">-f</span> [0-9a] <span style="font-weight:bold;">]]</span>
0467 <span style="font-weight:bold;">[[</span> ?*[0-9] <span style="color:#27ae60;">=</span> <span style="color:#27ae60;">[^</span><span style="color:#da4453;">0</span><span style="color:#27ae60;">-</span><span style="color:#da4453;">9</span><span style="color:#27ae60;">]</span> <span style="font-weight:bold;">]]</span>
0468 <span style="font-weight:bold;">[[</span> -f <span style="color:#27ae60;">=</span> <span style="color:#27ae60;">?*[</span><span style="color:#da4453;">0</span><span style="color:#27ae60;">-</span><span style="color:#da4453;">9</span><span style="color:#27ae60;">]</span> <span style="font-weight:bold;">]]</span>
0469 <span style="font-weight:bold;">[[</span> ?*[0-9] <span style="color:#27ae60;">=</span> <span style="color:#27ae60;">?*[</span><span style="color:#da4453;">0</span><span style="color:#27ae60;">-</span><span style="color:#da4453;">9</span><span style="color:#27ae60;">]</span> <span style="font-weight:bold;">]]</span>
0470 <span style="font-weight:bold;">[[</span> a/sa[s <span style="color:#27ae60;">=</span> dsad<span style="color:#27ae60;">?*[</span><span style="color:#da4453;">0</span><span style="color:#27ae60;">-</span><span style="color:#da4453;">9</span><span style="color:#27ae60;">]</span>dsa<span style="color:#27aeae;">$</span><span style="color:#27aeae;">ds</span> <span style="font-weight:bold;">]]</span>
0471 <span style="font-weight:bold;">[[</span> a/sa[s <span style="color:#27ae60;">=</span> dsad<span style="color:#27ae60;">?*[</span><span style="color:#da4453;">0</span><span style="color:#27ae60;">-</span><span style="color:#da4453;">9</span><span style="color:#27ae60;">]</span>ds/a<span style="color:#27aeae;">$</span><span style="color:#27aeae;">ds</span> <span style="font-weight:bold;">]]</span>
0472 <span style="font-weight:bold;">[[</span> a <span style="color:#27ae60;">=~</span> <span style="color:#3f8058;">[</span><span style="color:#da4453;">12</span><span style="color:#3f8058;">]</span><span style="color:#da4453;">a</span><span style="color:#3f8058;">([</span><span style="color:#da4453;">!d</span><span style="color:#3f8058;">]</span><span style="color:#da4453;">a</span><span style="color:#27ae60;">?</span><span style="color:#da4453;">s</span><span style="color:#3f8058;">[</span><span style="color:#da4453;">x</span><span style="color:#3f8058;">[:</span><span style="color:#27aeae;">alnum</span><span style="color:#3f8058;">:]</span><span style="color:#3f8058;">]</span><span style="color:#27ae60;">|</span><span style="color:#da4453;">d</span><span style="color:#27ae60;">?</span><span style="color:#3f8058;">)</span><span style="color:#da4453;">p</span> <span style="font-weight:bold;">]]</span>
0473 
0474 <span style="font-weight:bold;">[[</span> <span style="color:#7a7c7d;">#comm1</span>
0475  <span style="color:#7a7c7d;">#comm2</span>
0476  p[1] <span style="color:#27ae60;">==</span> p<span style="color:#27ae60;">[</span><span style="color:#da4453;">2</span><span style="color:#27ae60;">]</span>
0477  <span style="color:#7a7c7d;">#comm3</span>
0478  <span style="color:#7a7c7d;">#comm4</span>
0479 <span style="font-weight:bold;">]]</span>
0480 
0481 <span style="font-weight:bold;">[[</span> <span style="color:#7a7c7d;">#comm1</span>
0482  <span style="color:#7a7c7d;">#comm2</span>
0483  <span style="color:#27ae60;">-f</span> p[2]
0484  <span style="color:#7a7c7d;">#comm3</span>
0485  <span style="color:#7a7c7d;">#comm4</span>
0486 <span style="font-weight:bold;">]]</span>
0487 
0488 <span style="font-weight:bold;">((</span><span style="color:#f67400;">3</span><span style="color:#3f8058;">+</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">+</span><span style="color:#27aeae;">a</span><span style="color:#3f8058;">+</span><span style="color:#27aeae;">$</span><span style="color:#27aeae;">c</span><span style="color:#3f8058;">*</span>(<span style="color:#27aeae;">x</span>) <span style="color:#3f8058;">&amp;</span> <span style="color:#f67400;">0x43422fd</span><span style="color:#3f8058;">+</span><span style="color:#f67400;">03</span><span style="color:#3f8058;">-</span><span style="color:#f67400;">0</span><span style="color:#da4453;text-decoration:underline;">85</span><span style="color:#3f8058;">/</span><span style="color:#2980b9;">23#</span><span style="color:#f67400;">D9a@_</span><span style="color:#3f8058;">^</span><span style="color:#f67400;">8</span><span style="font-weight:bold;">))</span>
0489 <span style="font-weight:bold;">((</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">/</span>(<span style="color:#f67400;">2</span><span style="color:#3f8058;">-</span>(<span style="color:#27aeae;">a</span><span style="color:#3f8058;">-</span><span style="color:#f67400;">4</span>))<span style="font-weight:bold;">))</span>
0490 
0491 <span style="color:#7a7c7d;"># they are not arithmetic evaluations...</span>
0492 <span style="font-weight:bold;">((</span><span style="color:#0099ff;font-weight:bold;">cmd</span> <span style="font-weight:bold;">&amp;&amp;</span> <span style="color:#0099ff;font-weight:bold;">cmd</span><span style="font-weight:bold;">)</span> <span style="font-weight:bold;">||</span> <span style="color:#0099ff;font-weight:bold;">cmd</span><span style="font-weight:bold;">)</span>
0493 <span style="color:#27aeae;">$(</span><span style="font-weight:bold;">(</span><span style="color:#0099ff;font-weight:bold;">cmd</span> <span style="font-weight:bold;">&amp;&amp;</span> <span style="color:#0099ff;font-weight:bold;">cmd</span><span style="font-weight:bold;">)</span> <span style="font-weight:bold;">||</span> <span style="color:#0099ff;font-weight:bold;">cmd</span><span style="color:#27aeae;">)</span>
0494 <span style="font-weight:bold;">((</span><span style="color:#27aeae;">cmd</span> <span style="font-weight:bold;">&amp;&amp;</span>
0495 <span style="color:#27aeae;">cmd</span><span style="font-weight:bold;">)</span> <span style="font-weight:bold;">||</span> <span style="color:#0099ff;font-weight:bold;">cmd</span><span style="font-weight:bold;">)</span>
0496 <span style="color:#27aeae;">$((</span><span style="color:#27aeae;">cmd</span> <span style="font-weight:bold;">&amp;&amp;</span>
0497 <span style="color:#27aeae;">cmd</span><span style="color:#27aeae;">)</span> <span style="font-weight:bold;">||</span> <span style="color:#0099ff;font-weight:bold;">cmd</span><span style="color:#27aeae;">)</span>
0498 
0499 <span style="font-weight:bold;">{</span> <span style="color:#7f8c8d;">echo</span>
0500     <span style="color:#7f8c8d;">echo</span>
0501 <span style="font-weight:bold;">}</span>
0502 <span style="font-weight:bold;">{</span> <span style="color:#7f8c8d;">echo</span> <span style="font-weight:bold;">;</span> <span style="font-weight:bold;">}</span>
0503 <span style="font-weight:bold;">(</span><span style="color:#7f8c8d;">echo</span> <span style="font-weight:bold;">;</span> <span style="color:#7f8c8d;">echo</span><span style="font-weight:bold;">)</span>
0504 <span style="font-weight:bold;">(</span><span style="color:#7f8c8d;">echo</span>
0505     <span style="color:#7f8c8d;">echo</span><span style="font-weight:bold;">)</span>
0506 <span style="font-weight:bold;">(</span><span style="color:#7f8c8d;">echo</span> a<span style="font-weight:bold;">)</span>
0507 <span style="font-weight:bold;">({</span> <span style="color:#7f8c8d;">echo</span> plop<span style="font-weight:bold;">;</span><span style="font-weight:bold;">})</span>
0508 <span style="color:#7f8c8d;">[</span> a <span style="color:#27ae60;">-eq</span> 2 <span style="color:#7f8c8d;">]</span> <span style="font-weight:bold;">||</span> <span style="color:#7f8c8d;">[</span> a <span style="color:#27ae60;">-eq</span> 2] <span style="color:#7f8c8d;">]</span> <span style="font-weight:bold;">&amp;&amp;</span> <span style="font-weight:bold;">[[</span> a <span style="color:#27ae60;">-eq</span> 2 <span style="font-weight:bold;">]]</span> <span style="font-weight:bold;">||</span> <span style="font-weight:bold;">[[</span> a <span style="color:#27ae60;">!=</span> b <span style="font-weight:bold;">]]</span><span style="font-weight:bold;">;</span>
0509 <span style="color:#7f8c8d;">[</span> a <span style="color:#27ae60;">-eq</span> 2 <span style="color:#7f8c8d;">]</span><span style="font-weight:bold;">||</span><span style="color:#7f8c8d;">[</span> a <span style="color:#27ae60;">-eq</span> 2] <span style="color:#7f8c8d;">]</span><span style="font-weight:bold;">&amp;&amp;</span><span style="font-weight:bold;">[[</span> a <span style="color:#27ae60;">-eq</span> 2 <span style="font-weight:bold;">]]</span><span style="font-weight:bold;">||</span><span style="font-weight:bold;">[[</span> a <span style="color:#27ae60;">!=</span> b <span style="font-weight:bold;">]]</span><span style="font-weight:bold;">;</span>
0510 <span style="color:#7f8c8d;">test</span> a <span style="color:#2980b9;">-eq</span> b
0511 
0512 <span style="color:#7a7c7d;"># functions</span>
0513 <span style="color:#8e44ad;">a()</span> <span style="font-weight:bold;">{</span> <span style="color:#7f8c8d;">echo</span> x<span style="font-weight:bold;">;</span> <span style="font-weight:bold;">}</span>
0514 <span style="color:#8e44ad;">a  ()</span> <span style="font-weight:bold;">{</span> <span style="color:#7f8c8d;">echo</span> x<span style="font-weight:bold;">;</span> <span style="font-weight:bold;">}</span>
0515 <span style="font-weight:bold;">function</span><span style="color:#8e44ad;"> f</span> <span style="font-weight:bold;">{</span> <span style="color:#7f8c8d;">echo</span> x<span style="font-weight:bold;">;</span> <span style="font-weight:bold;">}</span>
0516 <span style="color:#8e44ad;">kde.org()</span> <span style="font-weight:bold;">{</span> <span style="color:#7f8c8d;">echo</span> x<span style="font-weight:bold;">;</span> <span style="font-weight:bold;">}</span>
0517 <span style="color:#8e44ad;">--func()</span> <span style="font-weight:bold;">{</span> <span style="color:#7f8c8d;">echo</span> x<span style="font-weight:bold;">;</span> <span style="font-weight:bold;">}</span>
0518 
0519 <span style="color:#7a7c7d;"># variables</span>
0520 <span style="color:#27aeae;">a</span><span style="color:#3f8058;">=</span><span style="color:#27aeae;">(</span>a b c<span style="color:#27aeae;">)</span>
0521 <span style="color:#27aeae;">a</span><span style="color:#3f8058;">=</span><span style="color:#f44f4f;">'a'</span>
0522 <span style="color:#27aeae;">a</span><span style="color:#3f8058;">+=</span>b
0523 <span style="color:#27aeae;">a</span><span style="color:#3f8058;">[</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">]</span><span style="color:#3f8058;">=</span><span style="color:#f44f4f;">'a'</span>
0524 <span style="color:#27aeae;">a</span><span style="color:#3f8058;">[</span><span style="color:#27aeae;">$</span><span style="color:#27aeae;">i</span><span style="color:#3f8058;">]</span><span style="color:#3f8058;">=</span><span style="color:#f44f4f;">'x'</span>
0525 <span style="color:#27aeae;">a</span><span style="color:#3f8058;">[</span><span style="color:#27aeae;">$((</span>
0526     <span style="color:#f67400;">2</span><span style="color:#3f8058;">+</span><span style="color:#f67400;">4</span>
0527 <span style="color:#27aeae;">))</span><span style="color:#3f8058;">]</span><span style="color:#3f8058;">=</span><span style="color:#f44f4f;">'x'</span>
0528 <span style="color:#27aeae;">a</span><span style="color:#3f8058;">=</span><span style="color:#27aeae;">(</span><span style="color:#3f8058;">[</span>a<span style="color:#3f8058;">]</span><span style="color:#27aeae;">=</span>2 <span style="font-weight:bold;">`</span><span style="color:#7f8c8d;">echo</span><span style="font-weight:bold;">`</span> -s <span style="color:#da4453;text-decoration:underline;">&gt;</span> <span style="color:#f44f4f;">'ds'</span><span style="color:#27aeae;">)</span>
0529 <span style="color:#27aeae;">a</span><span style="color:#3f8058;">=</span><span style="color:#27aeae;">(</span><span style="color:#7a7c7d;">#comment</span>
0530 value#nocomment <span style="color:#7a7c7d;">#comment)</span>
0531 <span style="color:#27aeae;">)</span>
0532 <span style="color:#27aeae;">a</span><span style="color:#3f8058;">=</span>a <span style="color:#8e44ad;">cat</span>
0533 <span style="color:#27aeae;">a</span><span style="color:#3f8058;">=</span><span style="font-weight:bold;">`</span><span style="color:#8e44ad;">ls</span><span style="font-weight:bold;">`</span> <span style="color:#8e44ad;">cat</span>
0534 
0535 <span style="color:#7a7c7d;"># errors</span>
0536 <span style="color:#0099ff;font-weight:bold;">a</span> a<span style="color:#da4453;text-decoration:underline;">(</span><span style="color:#0099ff;font-weight:bold;">s</span><span style="font-weight:bold;">)</span> <span style="color:#0099ff;font-weight:bold;">a</span>
0537 
0538 <span style="color:#7a7c7d;"># control structure</span>
0539 <span style="color:#fdbc4b;font-weight:bold;">for</span> name <span style="font-weight:bold;">in</span> a b c <span style="color:#2980b9;">{d</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">e}</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">do</span> <span style="color:#7f8c8d;">echo</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">done</span>
0540 <span style="color:#fdbc4b;font-weight:bold;">for</span> name<span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">do</span> <span style="color:#7f8c8d;">echo</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">done</span>
0541 <span style="color:#fdbc4b;font-weight:bold;">for</span> name <span style="color:#fdbc4b;font-weight:bold;">do</span> <span style="color:#7f8c8d;">echo</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">done</span>
0542 <span style="color:#fdbc4b;font-weight:bold;">for</span> <span style="font-weight:bold;">((</span><span style="color:#27aeae;">i</span><span style="color:#3f8058;">=</span><span style="color:#f67400;">0</span><span style="font-weight:bold;">;</span><span style="color:#27aeae;">i</span><span style="color:#3f8058;">&lt;</span><span style="color:#f67400;">5</span><span style="font-weight:bold;">;</span><span style="color:#3f8058;">++</span><span style="color:#27aeae;">i</span><span style="font-weight:bold;">))</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">do</span> <span style="color:#7f8c8d;">echo</span> <span style="color:#27aeae;">$</span><span style="color:#27aeae;">i</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">done</span>
0543 <span style="color:#fdbc4b;font-weight:bold;">select</span> name <span style="font-weight:bold;">in</span> a <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">do</span> <span style="color:#7f8c8d;">echo</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">done</span>
0544 <span style="color:#fdbc4b;font-weight:bold;">select</span> name<span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">do</span> <span style="color:#7f8c8d;">echo</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">done</span>
0545 <span style="color:#fdbc4b;font-weight:bold;">if</span> <span style="color:#7f8c8d;">:</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">then</span> <span style="color:#7f8c8d;">echo</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">elif</span> <span style="font-weight:bold;">[[</span> : <span style="font-weight:bold;">]]</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">then</span> <span style="color:#7f8c8d;">echo</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">else</span> <span style="color:#7f8c8d;">echo</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">fi</span>
0546 <span style="color:#fdbc4b;font-weight:bold;">while</span> <span style="color:#7f8c8d;">:</span> <span style="font-weight:bold;">||</span> <span style="color:#7f8c8d;">:</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">do</span> <span style="color:#7f8c8d;">echo</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">done</span>
0547 <span style="color:#fdbc4b;font-weight:bold;">until</span> <span style="color:#7f8c8d;">:</span> <span style="font-weight:bold;">;</span> <span style="color:#7f8c8d;">:</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">do</span> <span style="color:#7f8c8d;">echo</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">done</span>
0548 <span style="color:#fdbc4b;font-weight:bold;">case</span> a <span style="font-weight:bold;">in</span> <span style="color:#da4453;">a</span><span style="font-weight:bold;">)</span> <span style="color:#fdbc4b;font-weight:bold;">esac</span>
0549 <span style="color:#fdbc4b;font-weight:bold;">case</span> a <span style="font-weight:bold;">in</span> <span style="color:#da4453;">a</span><span style="font-weight:bold;">)</span> <span style="color:#7f8c8d;">echo</span> <span style="font-weight:bold;">;</span> <span style="color:#fdbc4b;font-weight:bold;">esac</span>
0550 <span style="color:#fdbc4b;font-weight:bold;">case</span> pwd <span style="font-weight:bold;">in</span> <span style="font-weight:bold;">(</span><span style="color:#da4453;">patt1</span><span style="font-weight:bold;">)</span> <span style="color:#7f8c8d;">echo</span> <span style="font-weight:bold;">;</span> <span style="color:#7f8c8d;">echo</span> <span style="color:#fdbc4b;font-weight:bold;">;;</span> <span style="font-weight:bold;">(</span><span style="color:#da4453;">patt</span><span style="color:#27ae60;">*</span><span style="font-weight:bold;">)</span> <span style="color:#7f8c8d;">echo</span> <span style="color:#fdbc4b;font-weight:bold;">;;&amp;</span> <span style="color:#da4453;">patt</span><span style="color:#27ae60;">?</span><span style="font-weight:bold;">|</span><span style="color:#da4453;">patt</span><span style="font-weight:bold;">)</span> <span style="color:#7f8c8d;">echo</span> <span style="color:#fdbc4b;font-weight:bold;">;&amp;</span>
0551 <span style="color:#da4453;">patt</span><span style="font-weight:bold;">)</span> <span style="color:#7f8c8d;">echo</span> <span style="color:#fdbc4b;font-weight:bold;">;;</span> <span style="color:#fdbc4b;font-weight:bold;">esac</span>
0552 
0553 <span style="color:#fdbc4b;font-weight:bold;">for</span> name <span style="font-weight:bold;">in</span> a
0554  <span style="color:#0099ff;font-weight:bold;">b</span> c <span style="font-weight:bold;">;</span>
0555 <span style="color:#fdbc4b;font-weight:bold;">do</span>
0556 <span style="color:#7f8c8d;">echo</span>
0557 <span style="color:#fdbc4b;font-weight:bold;">done</span>
0558 
0559 <span style="color:#fdbc4b;font-weight:bold;">case</span> a <span style="font-weight:bold;">in</span>
0560   <span style="color:#da4453;">a</span><span style="color:#2980b9;">\(</span> <span style="font-weight:bold;">|</span> <span style="color:#da4453;">b</span><span style="color:#27ae60;">*</span><span style="color:#da4453;">c</span><span style="color:#27ae60;">?</span> <span style="font-weight:bold;">)</span> <span style="color:#7f8c8d;">echo</span>
0561   <span style="font-weight:bold;">(</span><span style="color:#0099ff;font-weight:bold;">b</span><span style="color:#27aeae;">$</span><span style="color:#27aeae;">c</span><span style="font-weight:bold;">)</span> <span style="color:#7a7c7d;"># no pattern</span>
0562   <span style="color:#fdbc4b;font-weight:bold;">;;</span>
0563   <span style="font-weight:bold;">(</span><span style="color:#da4453;">b</span><span style="color:#27aeae;">$</span><span style="color:#27aeae;">c</span><span style="font-weight:bold;">)</span> <span style="color:#fdbc4b;font-weight:bold;">;;</span>
0564   <span style="color:#7a7c7d;"># no pattern</span>
0565   <span style="font-weight:bold;">(</span><span style="color:#da4453;">b</span><span style="color:#27aeae;">$</span><span style="color:#27aeae;">c</span><span style="font-weight:bold;">)</span>
0566 <span style="color:#fdbc4b;font-weight:bold;">esac</span>
0567 
0568 <span style="color:#fdbc4b;font-weight:bold;">case</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#27aeae;">$</span><span style="color:#27aeae;">1</span><span style="color:#f44f4f;">&quot;</span> <span style="font-weight:bold;">in</span>
0569  <span style="color:#f44f4f;">&quot;a&quot;</span><span style="font-weight:bold;">)</span> <span style="color:#0099ff;font-weight:bold;">run_a</span><span style="font-weight:bold;">|&amp;</span><span style="color:#0099ff;font-weight:bold;">a</span><span style="color:#fdbc4b;font-weight:bold;">;;</span>
0570  <span style="color:#f44f4f;">&quot;b&quot;</span><span style="font-weight:bold;">)</span> <span style="color:#0099ff;font-weight:bold;">run_b</span><span style="color:#fdbc4b;font-weight:bold;">;;</span>
0571  <span style="color:#f44f4f;">&quot;c&quot;</span><span style="font-weight:bold;">)</span> <span style="color:#0099ff;font-weight:bold;">run_c</span><span style="color:#fdbc4b;font-weight:bold;">;;</span>
0572  <span style="color:#27ae60;">*</span><span style="font-weight:bold;">)</span> <span style="color:#7f8c8d;">echo</span> <span style="color:#f44f4f;">&quot;Plase choose between 'a', 'b' or 'c'&quot;</span> <span style="font-weight:bold;">&amp;&amp;</span> <span style="color:#7f8c8d;">exit</span> 1<span style="color:#fdbc4b;font-weight:bold;">;;</span>
0573 <span style="color:#fdbc4b;font-weight:bold;">esac</span>
0574 </pre></body></html>