This document describes the shell script file conventions for the
Campcaster
project. See also the generic description of the file
conventions in the Campcaster
project.
Introduction
Shell scripts are text-based executable shell command files. As text
based files, they should adhere to the generic text-based
conventions.
Naming
Shell script files are named by the following rules:
there are no spaces in the file name
the file name begins with a lower case letter
for file names containing multiple words, each additional word
begins with a capital letter
the extension of the file is .sh
For example, a file with a single-word name may be named like: single.sh,
whereas a file with multiple word name would be like: multipleWordNameFile.sh.
Structure
Shell script files are partitioned by using the following 80 column
wide partitioning comment:
#------------------------------------------------------------------------------- # This is the title of the partition #-------------------------------------------------------------------------------
The file has the
following mandatory structure:
Reference to the shell
Header
Additional sections+
Reference to the shell
This is the mandatory reference to the shell executable each script has
to begin with:
#!/bin/sh
Header
The header holds all information mandated by the generic guidelines, but
starting with the shell comment character #. Note the 80
column wide partitioning delimiter enclosing the header.
#------------------------------------------------------------------------------- # Copyright (c) 2004 Media Development Loan Fund # # This file is part of the Campcaster project. # https://www.campware.org/ # To report bugs, send an e-mail to [email protected] # # Campcaster is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # Campcaster is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Campcaster; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # # Author : $Author: paul $ # Version : $Revision: 2373 $ # Location : $URL: svn://code.campware.org/campcaster/trunk/campcaster/doc/developmentEnvironment/shellScriptConventions.html $ #-------------------------------------------------------------------------------
Additional sections
Additional sections contain the executing code of the script. Bigger
parts of the script may be partitioned by the partitioning commend seen
above.
Template
See a generic template
for shell scripts. You may freely copy this
template when starting to create a new document.