The Command-line Interface
The centos-art.sh script follows a
conventional command-line interface where there might be
options and non-option arguments in it. As convention, the
first non-option argument passed to
centos-art.sh script will be the name of
the specific function you want to execute (e.g.,
render, locale,
help, etc.). This first argument will be
immediately removed from the list of arguments passed to
centos-art.sh script to leave just the
remaining options and non-option arguments passed to it. At
this point, the centos-art.sh script uses
the getopt command to retrieve option
arguments and remove them from the list of arguments passed to
centos-art.sh script.
Once option arguments have been removed from list of arguments
passed to centos-art.sh script, non option
arguments are processed then. Non-option arguments will
always be paths pointing directories inside your working copy
of &TCAR;. These paths can be absolute paths or relative paths
considering the working copy root directory as sect2. For
example, both the absolute path /home/al/Projects/CentOS/artwork/trunk/Identity/Themes/
and the relative path trunk/Identity/Themes point to
the same location.
To better understand the centos-art.sh
command-line interface, let's consider the real command shown
in as
sect2. This command shows the entire command as a list of
space-separated arguments. The value of each argument can be
reached using special variable names based on the number of
arguments passed to the command-line.
The command-line interfaceThe command-line interface
${0} | |${1}| | ${2} | | ${3} |
---------|-|----|-|--------------------------|-|-----------|
centos-art render trunk/Identity/Images/Themes --with-brands
---------|-|----|-|--------------------------|-|-----------|
In , the
relation between special variables and arguments has the
following meaning:
${0}
This variable contains the absolute path to the command
executed. In case your home directory be /home/john the value of this
argument will be expanded to
/home/john/bin/centos-art which is a
symbolic link to the
${TCAR_WORKDIR}/trunk/Scripts/Bash/centos-art.sh
file.
${1}
This variable contains the first non-option argument we use to
determine the specific function environment we want to execute
(e.g., render in this case). The position
of this information in the command-line is relevant to
centos-art.sh script and must not be
changed. Possible values to this variable are specified in
.
${2}
This variable contains a non-option argument referring a path
information inside the working copy of &TCAR;. The specific
path information you provide in this variable must be
recognized by specific function environment provided in
${1} variable. The position of path
information in the command-line is not relevant to
centos-art.sh script and can be changed
whenever it doesn't be interpreted as value to
${1} variable.
${3}
This variable contains an option argument. The specific option
information you provide in this variable must be recognized by
specific function environment provided in
${1} variable. The position of options in
the command-line is not relevant to
centos-art.sh script and can be changed
whenever it doesn't be interpreted as value to
${1} variable.
Common Options
As convention, all function specific environments should
provide support for the following common options:
|
This option makes centos-art.sh script to
shows information about the specific function environment
(e.g., how to execute it, available options, etc.) set as
first non-option argument. For example, if you provide the
centos-art render --help, the
centos-art.sh script will display to you
the information related to the trunk/Scripts/Bash/Functions/Render
directory.
This information is retrived from The CentOS Artwork
Repository File System (tcar-fs) documentation manual.
This manual is written in Texinfo format and provides a quick
way for you to read and browse documentation related to each
directory inside &TCAR; as you work with it from a text
terminal.
|
This option makes the centos-art.sh script
to suppress messages sent to standard output. This option
doesn't suppress error messages, nor questions related to
script execution.
Specific Options
The specific options used by specific and common function
environments are described in their respective sect2s. See
and to know which these
sect2s are.
Specific Function EnvironmentsNameDescriptionStandardize configuration tasks inside &TCAR;Standardize rendition tasks inside &TCAR;Standardize localization tasks inside &TCAR;Standardize documentation tasks inside &TCAR;Standardize packing tasks inside &TCAR;Standardize maintainance tasks inside &TCAR;Standardize version control tasks inside &TCAR;
Common Function EnvironmentsNameDescriptioncli_checkFiles...
Implementation
When a new function is created to
centos-art.sh script, it is necessary
to consider whether it will use arguments or not. When the
function doesn't need arguments (e.g., it exists to
redefine values related to global variables only) there is
no need to consider a parsing feature for it. However,
when the function does use arguments it is very important
to parse them appropriately (e.g., by using a parsing feature like
that provided by getopt command).
In this sect2 will describe how to parse arguments (both
option and non-option) inside the
centos-art.sh script. This information
must be used as sect2 whenever you need to create a
new function for centos-art.sh script.