< Puredyne 
 
 
      Shell Scripting
This guideline is heavily inspired from the Debian Live Coding Style.
Compatibility
- Don't use syntax or semantics that are unique to the Bash shell. For example, the use of array constructs.
- Only use the POSIX subset - for example, use $(foo)over`foo`.
- You can check your scripts with 'sh -n' and 'checkbashisms'
Indenting
- Always use tabs over spaces.
Wrapping
- Generally, lines are 80 chars at maximum.
- Use the "Linux style" of line breaks:
  # Bad:
  if foo; then
      bar
  fi
  # Good:
  if foo
  then
      bar
  fi
- The same holds for functions:
  #Bad:
  foo () {
      bar
  }
  #Good:
  foo ()
  {
      bar
  }
Variables
- Variables are always in capital letters.
- Use braces around variables; eg. write ${FOO}instead of$FOO.
- Always protect variables with respect to potential whitespaces, write "${FOO}"not${FOO}.
- For consistency reasons, always use quotes when assigning values to variables:
  #Bad:
  FOO=bar
  #Good:
  FOO="bar"
- If multiple variables are used, quote the full expression:
  #Bad:
  if [ -f "${FOO}"/foo/"${BAR}"/bar ]
  then
      foobar
  fi
  #Good:
  if [ -f "${FOO}/foo/${BAR}/bar" ]
  then
      foobar
  fi
Miscellaneous
- Use |as a separator in calls to sed, e.g.sed -e 's|foo|bar|'.
- Don't use the test command for comparisons or tests, use [ ], e.g.if [ -x /bin/foo ]; ...and notif test -x /bin/foo; ....
    This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.