Difference between revisions of "DeveloperWiki:Bash Coding Style"

From ArchWiki
Jump to: navigation, search
Line 28: Line 28:
 
==Modelines==
 
==Modelines==
 
Add these lines at the bottom of the document to enforce our guideline:
 
Add these lines at the bottom of the document to enforce our guideline:
 +
* Kate (and other KDE editors): http://kate-editor.org/article/katepart_modelines
 
<pre>
 
<pre>
# kate: encoding utf-8; indent-mode normal; indent-width 8; tab-indents on; tab-width 8; word-wrap on; word-wrap-column 132
+
# kate: encoding utf-8; eol unix; hl Bash
 +
# kate: indent-mode normal; indent-width 8; tab-indents on; tab-width 8; word-wrap on; word-wrap-column 132
 
</pre>
 
</pre>

Revision as of 17:37, 13 February 2010

Policy

  • encoding is utf-8
  • use #!/bin/bash
  • indent with tabs
  • tabs have 8 characters
  • don't use more than 132 columns
  • opening braces are top right, closing are bottom left:
foo() {
        echo bar
}
  • if and for statements are like this:
if true; then
        do something
else
        do something else
fi
for i in a b c; do
        echo $i
done
  • use single quotes if a string does not parseable content
  • use source instead of .

Modelines

Add these lines at the bottom of the document to enforce our guideline:

# kate: encoding utf-8; eol unix; hl Bash
# kate: indent-mode normal; indent-width 8; tab-indents on; tab-width 8; word-wrap on; word-wrap-column 132