Blame Manuals/en/Html/Repository/repository_42.html

4c79b5
4c79b5
<html>
09d4f2
09d4f2
09d4f2
The CentOS Artwork Repository exists to organize and automate The
09d4f2
CentOS Project corporate visual identity (, to
09d4f2
start on).
4c79b5
6c4982
Copyright C 2009, 2010 Alain Reguera Delgado. All rights
4c79b5
reserved.
4c79b5
4c79b5
Permission is granted to copy, distribute and/or modify this document
4c79b5
under the terms of the GNU Free Documentation License, Version 1.2 or
4c79b5
any later version published by the Free Software Foundation; with no
4c79b5
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
4c79b5
copy of the license is included in the section entitled GNU Free
4c79b5
Documentation License.  
4c79b5
-->
008ee0
4c79b5
4c79b5
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
4c79b5
            Karl Berry  <karl@freefriends.org>
4c79b5
            Olaf Bachmann <obachman@mathematik.uni-kl.de>
4c79b5
            and many others.
4c79b5
Maintained by: Many creative people <dev@texi2html.cvshome.org>
4c79b5
Send bugs and suggestions to <users@texi2html.cvshome.org>
4c79b5
4c79b5
-->
4c79b5
<head>
54b5a5
<title>CentOS Artwork Repository: 3.39 trunk/Scripts/Bash/Functions</title>
4c79b5
54b5a5
<meta name="description" content="CentOS Artwork Repository: 3.39 trunk/Scripts/Bash/Functions">
54b5a5
<meta name="keywords" content="CentOS Artwork Repository: 3.39 trunk/Scripts/Bash/Functions">
4c79b5
<meta name="resource-type" content="document">
4c79b5
<meta name="distribution" content="global">
4c79b5
<meta name="Generator" content="texi2html 1.76">
4c79b5
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4c79b5
<style type="text/css">
4c79b5
1e9202
@import "/home/centos/artwork/trunk/Identity/Models/Css/Texi2html/common.css";
4c79b5
4c79b5
a.summary-letter {text-decoration: none}
4c79b5
pre.display {font-family: serif}
4c79b5
pre.format {font-family: serif}
4c79b5
pre.menu-comment {font-family: serif}
4c79b5
pre.menu-preformatted {font-family: serif}
4c79b5
pre.smalldisplay {font-family: serif; font-size: smaller}
4c79b5
pre.smallexample {font-size: smaller}
4c79b5
pre.smallformat {font-family: serif; font-size: smaller}
4c79b5
pre.smalllisp {font-size: smaller}
4c79b5
span.sansserif {font-family:sans-serif; font-weight:normal;}
4c79b5
ul.toc {list-style: none}
4c79b5
-->
4c79b5
</style>
4c79b5
4c79b5
4c79b5
</head>
4c79b5
4c79b5
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
4c79b5
4c79b5
008ee0
[ < ]
008ee0
[ > ]
4c79b5
   
4c79b5
[ << ]
4c79b5
[ Up ]
54b5a5
[ >> ]
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
[Top]
4c79b5
[Contents]
54b5a5
[Index]
4c79b5
[ ? ]
4c79b5
54b5a5
008ee0
54b5a5

3.39 trunk/Scripts/Bash/Functions

54264c
54264c
008ee0
54264c

3.39.1 Goals

54264c
54b5a5

The <tt>`trunk/Scripts/Bash/Functions'</tt> directory exists to organize

54b5a5
<tt>`centos-art.sh'</tt> specific functionalities.
081970

54264c
008ee0
54264c

3.39.2 Description

54264c
54b5a5

The specific functions of <tt>`centos-art.sh'</tt> script are designed

54b5a5
with "Software Toolbox" philosophy (see (coreutils.info)Toolbox introduction) in mind: each program "should do one
54b5a5
thing well".  Inside <tt>`centos-art.sh'</tt> script, each specific
54b5a5
functionality is considered a program that should do one thing well.
54b5a5
Of course, if you find that they still don't do it, feel free to
54b5a5
improve them in order for them to do so.
54b5a5

54b5a5

The specific functions of <tt>`centos-art.sh'</tt> script are organized

54b5a5
inside specific directories under <tt>`trunk/Scripts/Bash/Functions'</tt>
54b5a5
location. Each specific function directory should be named as the
54b5a5
function it represents, with the first letter in uppercase. For
54b5a5
example, if the function name is render, the specific function
54b5a5
directory for it would be <samp>`trunk/Scripts/Bash/Functions/Render'</samp>.
54b5a5

54b5a5

To better understand how specific functions of <tt>`centos-art.sh'</tt>

54b5a5
script are designed, lets create one function which only goal is to
54b5a5
output different kind of greetings to your screen.
54b5a5

54b5a5

When we create specific functions for <tt>`centos-art.sh'</tt> script it

54b5a5
is crucial to know what these functions will do exactly and if there
54b5a5
is any function that already does what we intend to do. If there is no
54b5a5
one, it is good time to create them then. Otherwise, if
54b5a5
functionalities already available don't do what you exactly expect,
54b5a5
contact their authors and work together to improve them.
54b5a5

54b5a5
Info

Tip

Join CentOS developers mailing list

54b5a5
centos-art@centos.org to share your ideas.
54b5a5

54b5a5
54b5a5

It is also worth to know what global functions and variables do we

54b5a5
have available inside <tt>`centos-art.sh'</tt> script, so advantage can be
54b5a5
taken from them. Global variables are defined inside global function
54b5a5
scripts. Global functions scripts are stored immediatly under
54b5a5
<tt>`trunk/Scripts/Bash/Functions'</tt> directory, in files begining with
54b5a5
<samp>`cli'</samp> prefix.
54b5a5

54b5a5

OK, let's begin with our functionality example.

54b5a5

54b5a5

What function name do we use? Well, lets use greet. Note that

54b5a5
<samp>`hello'</samp> word is not a verb; but an expression, a kind of
54b5a5
greeting, an interjection specifically. In contrast, <samp>`greet'</samp> is a
54b5a5
verb and describes what we do when we say <samp>`Hello!'</samp>, <samp>`Hi!'</samp>,
54b5a5
and similar expressions.
54b5a5

54b5a5

So far, we've gathered the following function information:

54b5a5

54b5a5
Name: greet
54b5a5
Path: trunk/Scripts/Bash/Functions/Greet
54b5a5
File: trunk/Scripts/Bash/Functions/Greet/greet.sh
54b5a5
54b5a5

The <tt>`greet.sh'</tt> function script is the first file

54b5a5
<tt>`centos-art.sh'</tt> script loads when the <samp>`greet'</samp> functionality
54b5a5
is called using commands like <samp>`centos-art greet --hello='World''</samp>.
54b5a5
The <tt>`greet.sh'</tt> function script contains the greet function
54b5a5
definition. 
54b5a5

54b5a5

Inside <tt>`centos-art.sh'</tt> script, as convenction, each function

54b5a5
script has one top commentary, followed by one blank line, and then
54b5a5
one function defintion below it only.
54b5a5

54b5a5

Inside <tt>`centos-art.sh'</tt> script functions, top commentaries have

54b5a5
the following components: the functionality description, one-line for
54b5a5
copyright note with your personal information,  the license under
54b5a5
which the function source code is released --the <tt>`centos-art.sh'</tt>
54b5a5
script is released as GPL, so do all its functions--, subversion's
54b5a5
$Id$ keyword which is later expanded by svn propset
54b5a5
command.
54b5a5

54b5a5

In our greet function example, top commentary for

54b5a5
<tt>`greet.sh'</tt> function script would look like the following:
54b5a5

54b5a5
#!/bin/bash
54b5a5
#
54b5a5
# greet.sh -- This function outputs different kind of greetings to
54b5a5
# your screen. Use this function to understand how centos-art.sh
54b5a5
# script specific functionalities work.
54b5a5
#
54b5a5
# Copyright (C) YEAR YOURFULLNAME
54b5a5
#
54b5a5
# This program is free software; you can redistribute it and/or modify
54b5a5
# it under the terms of the GNU General Public License as published by
54b5a5
# the Free Software Foundation; either version 2 of the License, or
54b5a5
# (at your option) any later version.
54b5a5
# 
54b5a5
# This program is distributed in the hope that it will be useful, but
54b5a5
# WITHOUT ANY WARRANTY; without even the implied warranty of
54b5a5
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
54b5a5
# General Public License for more details.
54b5a5
#
54b5a5
# You should have received a copy of the GNU General Public License
54b5a5
# along with this program; if not, write to the Free Software
54b5a5
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
54b5a5
# USA.
54b5a5
# 
54b5a5
# ----------------------------------------------------------------------
54b5a5
# $Id$
54b5a5
# ----------------------------------------------------------------------
54b5a5
54b5a5

After top commentary, separated by one blank line, the greet

54b5a5
function definition would look like the following:
54b5a5

54b5a5
function greet {
54b5a5
54b5a5
    # Define global variables.
54b5a5
54b5a5
    # Define command-line interface.
54b5a5
    greet_getActions
54b5a5
54b5a5
}
54b5a5
54b5a5

The first definition inside greet function, are global

54b5a5
variables that will be available along greet function execution
54b5a5
environment. This time we didn't use global variable definitions for
54b5a5
greet function execution environment, so we left that section
54b5a5
empty.
54b5a5

54b5a5

Later, we call greet_getActions function to define the

54b5a5
command-line interface of greet functionality. The greet
54b5a5
functionality command-line interface defines what and how actions are
54b5a5
performed, based on arguments combination passed to
008ee0
<tt>`centos-art.sh'</tt> script.
008ee0

54b5a5
function greet_getActions {
54b5a5
54b5a5
    case "$ACTIONNAM" in
54b5a5
54b5a5
        --hello )
54b5a5
            greet_doHello
54b5a5
            ;;
54b5a5
54b5a5
        --bye )
54b5a5
            greet_doBye
54b5a5
            ;;
54b5a5
54b5a5
        * )
54b5a5
            cli_printMessage "`gettext "The option provided is not valid."`"
54b5a5
            cli_printMessage "$(caller)" 'AsToKnowMoreLine'
54b5a5
54b5a5
    esac
54b5a5
54b5a5
}
54b5a5
54b5a5

The ACTIONNAM global variable is defined in <tt>`cli.sh'</tt>

54b5a5
function script and contains the value passed before the equal sign
54b5a5
(i.e., <samp>`='</samp>) in the second command-line argument of
54b5a5
<tt>`centos-art.sh'</tt> script. For example, if the second command-line
54b5a5
argument is <samp>`--hello='World''</samp>, the value of ACTIONNAM
54b5a5
variable would be <samp>`--hello'</samp>.  Using this configuration let us
54b5a5
deside which action to perform based on the action name passed to
54b5a5
<tt>`centos-art.sh'</tt> script as second argument. 
54b5a5

54b5a5

The greet function definition makes available two valid

54b5a5
greetings through <samp>`--hello'</samp> and <samp>`--bye'</samp> options.  If no
54b5a5
one of them is provided as second command-line argument, the <samp>`*'</samp>
54b5a5
case is evaluated instead. 
54b5a5

54b5a5

The <samp>`*'</samp> case and its two further lines should always be present

54b5a5
in <tt>`_getActions.sh'</tt> function scripts, no matter what specific
54b5a5
functionality you are creating. This convenction helps the user to
54b5a5
find out documentation about current functionality in use.  
54b5a5

54b5a5

The greet_doHello and greet_doBye function definitions

54b5a5
are the core of greet specific functionality.  In such function
54b5a5
definitions we set what our greet function really does: to
54b5a5
output different kinds of greetings.
54b5a5

54b5a5
function greet_doHello {
54b5a5
54b5a5
    cli_printMessage "`gettext "Hello"` $ACTIONVAL"
54b5a5
54b5a5
}
54b5a5
54b5a5

The greet_doHello function definition is stored in

54b5a5
<tt>`greet_doHello.sh'</tt> function script. 
54b5a5

54b5a5
function greet_doBye {
54b5a5
54b5a5
    cli_printMessage "`gettext "Goodbye"` $ACTIONVAL"
54b5a5
54b5a5
}
54b5a5
54b5a5

The greet_doBye function definition is stored in the

54b5a5
<tt>`greet_doBye.sh'</tt> function script. 
54b5a5

54b5a5

Both <tt>`greet_doHello.sh'</tt> and <tt>`greet_doBye.sh'</tt> function

54b5a5
scripts are stored inside greet's function directory path (i.e.
54b5a5
<tt>`trunk/Scripts/Bash/Functions/Greet'</tt>).
54b5a5

54b5a5

The ACTIONVAL global variable is defined in <tt>`cli.sh'</tt>

54b5a5
function script and contains the value passed after the equal sign
54b5a5
(i.e., <samp>`='</samp>) in the second command-line argument of
54b5a5
<tt>`centos-art.sh'</tt> script. For example, if the second command-line
54b5a5
argument is <samp>`--hello='World''</samp>, the value of ACTIONVAL
54b5a5
variable would be <samp>`World'</samp> without quotes.
54b5a5

54b5a5

Let's see how greet specific functionality files are organzied

54b5a5
under greet's function directory. To see file organization we
54b5a5
use the tree command:
54b5a5

54b5a5
trunk/Scripts/Bash/Functions/Greet
54b5a5
|-- greet_doBye.sh
54b5a5
|-- greet_doHello.sh
54b5a5
|-- greet_getActions.sh
54b5a5
`-- greet.sh
54b5a5
54b5a5

To try the greet specific functionality we've just created,

54b5a5
pass the function name (i.e., <samp>`greet'</samp>) as first argument to
54b5a5
<tt>`centos-art.sh'</tt> script, and any of the valid options as second
54b5a5
argument. Some examples are illustrated below:
54b5a5

54b5a5
[centos@projects ~]$ centos-art greet --hello='World'
54b5a5
Hello World
54b5a5
[centos@projects ~]$ centos-art greet --bye='World'
54b5a5
Goodbye World
54b5a5
[centos@projects ~]$ 
54b5a5
54b5a5

The word <samp>`World'</samp> in the examples above can be anything. In fact,

54b5a5
change it to have a little fun.
54b5a5

54b5a5

Now that we have a specific function that works as we expect, it is

54b5a5
time to document it. To document greet specific functionality,
54b5a5
we use its directory path and the help functionality
54b5a5
(see section trunk/Scripts/Bash/Functions/Help) of <tt>`centos-art.sh'</tt>
54b5a5
script, just as the following command illustrates: 
54b5a5

54b5a5
centos-art help --edit=trunk/Scripts/Bash/Functions/Greet
54b5a5
54b5a5

Now that we have documented our function, it is time to translate its

54b5a5
output messages to different languages. To translate specific
54b5a5
functionality output messages to different languages we use the
54b5a5
locale functionality (see section trunk/Scripts/Bash/Functions/Locale) of <tt>`centos-art.sh'</tt> script, just as the following command
54b5a5
illustrates:
54b5a5

54b5a5
centos-art locale --edit
54b5a5
54b5a5
Warning

Warning

To translate output messages in different languages,

54b5a5
your system locale information --as in LANG environment
54b5a5
variable-- must be set to that locale you want to produce translated
54b5a5
messages for. For example, if you want to produce translated messages
54b5a5
for Spanish language, your system locale information must be set to
54b5a5
<samp>`es_ES.UTF-8'</samp> or similar.  
54b5a5

54b5a5
54b5a5

Well, it seems that our example is rather complete by now.

54b5a5

54b5a5

In greet function example we've described so far, we only use

54b5a5
cli_printMessage global function in action specific function
54b5a5
definitions in order to print a message simply, but more interesting
54b5a5
things can be achieved inside action specific function definitions.
54b5a5
For example, if you pass a directory path as second argument option
54b5a5
value, you could retrive a list of files from therein, and process
54b5a5
them. If the list of files turns too long or you just want to control
54b5a5
which files to process, you could add the third argument in the form
54b5a5
<samp>`--filter='regex''</samp> and reduce the amount of files to process
54b5a5
using a regular expression pattern.
54b5a5

54b5a5

The greet function described in this section may serve you as

54b5a5
an introduction to understand how specific functionalities work inside
54b5a5
<tt>`centos-art.sh'</tt> script. With some of luck this introduction will
54b5a5
also serve you as motivation to create your own <tt>`centos-art.sh'</tt>
54b5a5
script specific functionalities.
54b5a5

54b5a5

By the way, the greet functionality doesn't exist inside

54b5a5
<tt>`centos-art.sh'</tt> script yet. Would you like to create it?
af53cb

081970
008ee0
008ee0

3.39.3 Usage

008ee0
081970
008ee0
54b5a5

3.39.3.1 Global variables

54b5a5
54b5a5

The following global variables of <tt>`centos-art.sh'</tt> script, are

54b5a5
available for you to use inside specific functions:
54b5a5

54b5a5
54b5a5
<u>Variable:</u> TEXTDOMAIN
54b5a5
54b5a5
54b5a5

Default domain used to retrieve translated messages. This value is set

54b5a5
in <tt>`initFunctions.sh'</tt> and shouldn't be changed.
54b5a5

54b5a5
54b5a5
54b5a5
<u>Variable:</u> TEXTDOMAINDIR
54b5a5
54b5a5
54b5a5

Default directory used to retrieve translated messages. This value is

54b5a5
set in <tt>`initFunctions.sh'</tt> and shouldn't be changed.
54b5a5

54b5a5
54b5a5
54b5a5
<u>Variable:</u> FUNCNAM
54b5a5
54b5a5
54b5a5

Define function name.

54b5a5

54b5a5

Function names associate sets of actions. There is one set of actions

54b5a5
for each unique function name inside <tt>`centos-art.sh'</tt> script.
54b5a5

54b5a5

Dunction names are passed as first argument in <tt>`centos-art.sh'</tt>

54b5a5
command-line interface. For example, in the command <samp>`centos-art
54b5a5
render --entry=path/to/dir --filter=regex'</samp>, the ACTION passed to
54b5a5
<tt>`centos-art.sh'</tt> script is <samp>`render'</samp>.
54b5a5

54b5a5

When first argument is not provided, the <tt>`centos-art.sh'</tt> script

54b5a5
immediatly ends its execution.
54b5a5

54b5a5
54b5a5
54b5a5
<u>Variable:</u> ACTIONNAM
54b5a5
54b5a5
54b5a5

Define action name.

54b5a5

54b5a5

Each action name identifies an specific action to perform, inside an

54b5a5
specific function.
54b5a5

54b5a5

Action name names aare passed as second argument in

54b5a5
<tt>`centos-art.sh'</tt> command-line interface. For example, in the
54b5a5
command <samp>`centos-art render --entry=path/to/dir --filter=regex'</samp>,
54b5a5
the ACTIONNAM passed to <tt>`centos-art.sh'</tt> script is
54b5a5
<samp>`--entry'</samp>.
54b5a5

54b5a5

When second argument is not provided, the <tt>`centos-art.sh'</tt> script

54b5a5
immediatly ends its execution.
54b5a5

54b5a5
54b5a5
54b5a5
<u>Variable:</u> ACTIONVAL
54b5a5
54b5a5
54b5a5

Define action value.

54b5a5

54b5a5

Action values are associated to just one action name. Action values

54b5a5
contain the repository entry over which its associated action will be
54b5a5
performed in.  Repository entries can be directories, files, or URLs
54b5a5
refering the repository structure.
54b5a5

54b5a5

When action value is not specified as repository entry, the

54b5a5
<tt>`centos-art.sh'</tt> script evaluates the current directory it was
54b5a5
executed from. If such directory is under the repository structure
54b5a5
(i.e., <tt>`/home/centos/artwork/'</tt>), the <tt>`centos-art.sh'</tt> script
54b5a5
uses that directory as value to ACTIONVAL variable. Otherwise,
54b5a5
if outside the repository structure, the <tt>`centos-art.sh'</tt> script
54b5a5
prints the message <samp>`The path provided can't be processed.'</samp> and,
54b5a5
after it, immediatly ends script execution.
54b5a5

54b5a5

Default action value is passed as second argument in

54b5a5
<tt>`centos-art.sh'</tt> command-line interface. For example, in the
54b5a5
command <samp>`centos-art render --entry=path/to/dir --filter=regex'</samp>,
54b5a5
the ACTIONVAL passed to <tt>`centos-art.sh'</tt> script is
54b5a5
<samp>`path/to/dir'</samp>.
54b5a5

54b5a5
54b5a5
54b5a5
<u>Variable:</u> REGEX
54b5a5
54b5a5
54b5a5

Define regular expression used as pattern to build the list of files

54b5a5
to process.
54b5a5

54b5a5

By default, REGEX variable is set to .+ to match all

54b5a5
files.
54b5a5

54b5a5

Functions that need to build a list of files to process use the option

54b5a5
<samp>`--filter'</samp> to redefine REGEX variable default value, and
54b5a5
so, control the amount of files to process.
54b5a5

54b5a5
54b5a5
54b5a5
<u>Variable:</u> ARGUMENTS
54b5a5
54b5a5
54b5a5

Define optional arguments.

54b5a5

54b5a5

Optional arguments, inside <tt>`centos-art.sh'</tt> script, are considered

54b5a5
as all command-line arguments passed to <tt>`centos-art.sh'</tt> script,
54b5a5
from third argument position on. For example, in the command
54b5a5
<samp>`centos-art render --entry=path/to/dir --filter=regex'</samp> , the
54b5a5
optional arguments are from <samp>`--filter=regex'</samp> argument on.
54b5a5

54b5a5

Optional arguments are parsed using getopt command through

54b5a5
the following base construction: 
54b5a5

54b5a5
# Define short options we want to support.
54b5a5
local ARGSS=""
54b5a5
54b5a5
# Define long options we want to support.
54b5a5
local ARGSL="filter:,to:"
54b5a5
54b5a5
# Parse arguments using getopt(1) command parser.
54b5a5
cli_doParseArguments
54b5a5
54b5a5
# Reset positional parameters using output from (getopt) argument
54b5a5
# parser.
54b5a5
eval set -- "$ARGUMENTS"
54b5a5
54b5a5
# Define action to take for each option passed.
54b5a5
while true; do
54b5a5
    case "$1" in
54b5a5
        --filter )
54b5a5
            REGEX="$2" 
54b5a5
            shift 2
54b5a5
            ;;
54b5a5
        --to )
54b5a5
            TARGET="$2" 
54b5a5
            shift 2
54b5a5
            ;;
54b5a5
        * )
54b5a5
            break
54b5a5
    esac
54b5a5
done
54b5a5
54b5a5

Optional arguments provide support to command options inside

54b5a5
<tt>`centos-art.sh'</tt> script. For instance, consider the Subversion
54b5a5
(svn) command, where there are many options (e.g.,
54b5a5
<samp>`copy'</samp>, <samp>`delete'</samp>, <samp>`move'</samp>, etc), and inside each
54b5a5
option there are several modifiers (e.g., <samp>`--revision'</samp>,
54b5a5
<samp>`--message'</samp>, <samp>`--username'</samp>, etc.) that can be combined one
54b5a5
another in their short or long variants. 
54b5a5

54b5a5

The ARGUMENTS variable is used to store arguments passed from

54b5a5
command-line for later use inside <tt>`centos-art.sh'</tt> script. Storing
54b5a5
arguments is specially useful when we want to run a command with some
54b5a5
specific options from them. Consider the following command:
54b5a5

54b5a5
centos-art path --copy=SOURCE --to=TARGET --message="The commit message goes here." --username='johndoe'
54b5a5
54b5a5

In the above command, the <samp>`--message'</samp>, and <samp>`--username'</samp>

54b5a5
options are specific to svn copy command. In such cases,
54b5a5
options are not interpreted by <tt>`centos-art.sh'</tt> script itself.
54b5a5
Instead, the <tt>`centos-art.sh'</tt> script uses getopt to
54b5a5
retrive them and stores them in the ARGUMENT variable for later
54b5a5
use, as described in the following command:
54b5a5

54b5a5
# Build subversion command to duplicate locations inside the
54b5a5
# workstation.
54b5a5
eval svn copy $SOURCE $TARGET --quiet $ARGUMENTS
54b5a5
54b5a5

When getopt parses ARGUMENTS, we may use short options

54b5a5
(e.g., <samp>`-m'</samp>) or long options (e.g., <samp>`--message'</samp>). When
54b5a5
we use short options, arguments are separated by one space from the
54b5a5
option (e.g., <samp>`-m 'This is a commit message.''</samp>).  When we use
54b5a5
long options arguments are separated by an equal sign (<samp>`='</samp>)
54b5a5
(e.g., <samp>`--message='This is a commit message''</samp>).
54b5a5

54b5a5

In order for getopt to parse ARGUMENTS correctly, it

54b5a5
is required to provide the short and long definition of options that
54b5a5
will be passed or at least supported by the command performing the
54b5a5
final action the function script exists for.
54b5a5

54b5a5

As convenction, inside <tt>`centos-art.sh'</tt> script, short option

54b5a5
definitions are set in the ARGSS variable; and long option
54b5a5
definitions are set in the ARGSL variable.
54b5a5

54b5a5

When you define short and long options, it may be needed to define

54b5a5
which of these option arguments are required and which not. To define
54b5a5
an option argument as required, you need to set one colon <samp>`:'</samp>
54b5a5
after the option definition (e.g., <samp>`-o m: -l message:'</samp>).  On
54b5a5
the other hand, to define an option argument as not required, you need
54b5a5
to set two colons <samp>`::'</samp> after the option definition (e.g.,
54b5a5
<samp>`-o m:: -l message::'</samp>).
54b5a5

54b5a5
54b5a5
54b5a5
<u>Variable:</u> EDITOR
54b5a5
54b5a5
54b5a5

Default text editor.

54b5a5

54b5a5

The <tt>`centos-art.sh'</tt> script uses default text EDITOR to edit

54b5a5
pre-commit subversion messages, translation files, configuration
54b5a5
files, script files, and similar text-based files.
54b5a5

54b5a5

If EDITOR environment variable is not set, <tt>`centos-art.sh'</tt>

54b5a5
script uses <tt>`/usr/bin/vim'</tt> as default text editor. Otherwise, the
54b5a5
following values are recognized by <tt>`centos-art.sh'</tt> script:
54b5a5

54b5a5
    54b5a5
  • <tt>`/usr/bin/vim'</tt>
  • 54b5a5
  • <tt>`/usr/bin/emacs'</tt>
  • 54b5a5
  • <tt>`/usr/bin/nano'</tt>
  • 54b5a5
    54b5a5
    54b5a5

    If no one of these values is set in EDITOR environment variable,

    54b5a5
    <tt>`centos-art.sh'</tt> uses <tt>`/usr/bin/vim'</tt> text editor by default. 
    54b5a5

    54b5a5
    54b5a5
    54b5a5
    54b5a5

    3.39.3.2 Global functions

    54b5a5
    54b5a5

    The following global functions of <tt>`centos-art.sh'</tt> script are

    54b5a5
    available for you to use inside specific functions:
    54b5a5

    54b5a5
    54b5a5
    <u>Function:</u> cli_commitRepoChanges [LOCATION]
    54b5a5
    54b5a5
    54b5a5

    Syncronize changes between repository and working copy.

    54b5a5

    54b5a5

    The cli_commitRepoChanges function uses the value of

    54b5a5
    LOCATION argument as reference to perform change verification
    54b5a5
    inside the working copy using subversion commands. If LOCATION
    54b5a5
    argument is not specified as cli_commitRepoChanges first
    54b5a5
    argument, the ACTIONVAL variable is used as reference instead.
    54b5a5

    54b5a5

    The cli_commitRepoChanges function brings changes from the

    54b5a5
    repository to the working copy--using svn update--, checks
    54b5a5
    the working copy changes--using svn status command--,
    54b5a5
    prints status report--using both svn update and
    54b5a5
    svn status commands output, and finally, commits recent
    54b5a5
    changes from the working copy up to the repository--using
    54b5a5
    svn commit command--.
    54b5a5

    54b5a5

    Previous to commit the working copy changes up to the repository, the

    54b5a5
    cli_commitRepoChanges function asks you to verify
    54b5a5
    changes--using svn diff command--, and later, another
    54b5a5
    confirmation question is shown to be sure you really want to commit
    54b5a5
    changes up to central repository.
    54b5a5

    54b5a5
    54b5a5
    ----------------------------------------------------------------------
    54b5a5
    --> Bringing changes from the repository into the working copy
    54b5a5
    --> Checking changes in the working copy
    54b5a5
    ----------------------------------------------------------------------
    54b5a5
    Added           0 file from the repository.
    54b5a5
    Deleted         0 file from the repository.
    54b5a5
    Updated         0 file from the repository.
    54b5a5
    Conflicted      0 file from the repository.
    54b5a5
    Merged          0 file from the repository.
    54b5a5
    Modified        4 files from the working copy.
    54b5a5
    Unversioned     0 file from the working copy.
    54b5a5
    Deleted         0 file from the working copy.
    54b5a5
    Added           0 file from the working copy.
    54b5a5
    ----------------------------------------------------------------------
    54b5a5
    54b5a5

    Figure 3.9: The cli_commitRepoChanges function output.

    54b5a5
    54b5a5

    54b5a5

    Call the cli_commitRepoChanges function before or/and after

    54b5a5
    functions that modify files or directories inside the working copy as
    54b5a5
    you may need to.  
    54b5a5

    54b5a5
    54b5a5
    54b5a5
    <u>Function:</u> cli_checkFiles FILE [TYPE]
    54b5a5
    54b5a5
    54b5a5

    Verify files existence.

    54b5a5

    54b5a5

    cli_checkFiles receives a FILE absolute path and performs

    54b5a5
    file verification as specified in TYPE.  When TYPE is not
    54b5a5
    specified, cli_checkFiles verifies FILE existence, no
    54b5a5
    matter what kind of file it be.  If TYPE is specified, use one
    54b5a5
    of the following values:
    54b5a5

    54b5a5
    54b5a5
    <samp>`d'</samp>
    54b5a5
    <samp>`directory'</samp>
    54b5a5

    Ends script execution if FILE is not a directory.

    54b5a5

    54b5a5

    When you verify directories with cli_checkFiles, if directory doesn't

    54b5a5
    exist, <tt>`centos-art.sh'</tt> script asks you for confirmation in order
    54b5a5
    to create that directory. If you answer positively,
    54b5a5
    <tt>`centos-art.sh'</tt> script creates that directory and continues
    54b5a5
    script flows normally. Otherwise, if you answer negatively,
    54b5a5
    <tt>`centos-art.sh'</tt> ends script execution with an error and
    54b5a5
    documentation message.
    54b5a5

    54b5a5
    54b5a5
    <samp>`f'</samp>
    54b5a5
    <samp>`regular-file'</samp>
    54b5a5

    Ends script execution if FILE is not a regular file.

    54b5a5

    54b5a5
    <samp>`h'</samp>
    54b5a5
    <samp>`symbolic-link'</samp>
    54b5a5

    Ends script execution if FILE is not a symbolic link.

    54b5a5

    54b5a5
    <samp>`x'</samp>
    54b5a5
    <samp>`execution'</samp>
    54b5a5

    Ends script execution if FILE is not executable.

    54b5a5

    54b5a5
    <samp>`fh'</samp>
    54b5a5

    Ends script execution if FILE is neither a regular file or a

    54b5a5
    symbolic link.
    54b5a5

    54b5a5
    54b5a5
    54b5a5

    As default behaviour, if FILE passes all verifications,

    54b5a5
    <tt>`centos-art.sh'</tt> script continues with its normal flow. 
    54b5a5

    54b5a5
    54b5a5
    54b5a5
    <u>Function:</u> cli_getCountryCodes [FILTER]
    54b5a5
    54b5a5
    54b5a5

    Output country codes.

    54b5a5

    54b5a5

    The cli_getCountryCodes function outputs a list with country

    54b5a5
    codes as defined in ISO3166 standard. When FILTER is provided,
    54b5a5
    cli_getCountryCodes outputs country codes that match
    54b5a5
    FILTER regular expression pattern.
    54b5a5

    54b5a5
    54b5a5
    54b5a5
    <u>Function:</u> cli_getCountryName [FILTER]
    54b5a5
    54b5a5
    54b5a5

    Output country names.

    54b5a5

    54b5a5

    The cli_getCountryName function reads one language locale code

    54b5a5
    in the format LL_CC and outputs the name of its related country as in
    54b5a5
    ISO3166. If filter is specified, cli_getCountryName returns the
    54b5a5
    country name that matches the locale code specified in FILTER,
    54b5a5
    exactly.
    54b5a5

    54b5a5

    The cli_getCountryName function outputs country name supported

    54b5a5
    by <tt>`centos-art.sh'</tt> script.
    54b5a5

    54b5a5
     
    54b5a5
    54b5a5
    <u>Function:</u> cli_getCurrentLocale
    54b5a5
    54b5a5
    54b5a5

    Output current locale used by <tt>`centos-art.sh'</tt> script.

    54b5a5

    54b5a5

    The cli_getCurrentLocale function uses LANG environment

    54b5a5
    variable to build a locale pattern that is later applied to
    54b5a5
    cli_getLocales function output in order to return the current
    54b5a5
    locale that <tt>`centos-art.sh'</tt> script works with. 
    54b5a5

    54b5a5

    The current locale information, returned by

    54b5a5
    cli_getCurrentLocale, is output from more specific to less
    54b5a5
    specific. For example, if <samp>`en_GB'</samp> locale exists in
    54b5a5
    cli_getLocales function output, the <samp>`en_GB'</samp> locale would
    54b5a5
    take precedence before <samp>`en'</samp> locale.
    54b5a5

    54b5a5

    Locale precedence selection is quite important in order to define the

    54b5a5
    locale type we use for message translations. For example, if
    54b5a5
    <samp>`en_GB'</samp> is used, we are also saying that no common language
    54b5a5
    specification is used for English language (i.e., <samp>`en'</samp>). Instead,
    54b5a5
    we are using English non-common country-specific language
    54b5a5
    specifications like <samp>`en_AU'</samp>, <samp>`en_BW'</samp>, <samp>`en_GB'</samp>,
    54b5a5
    <samp>`en_US'</samp>, etc., for message translations.  
    54b5a5

    54b5a5

    Use cli_getCurrentLocale function to know what current locale

    54b5a5
    information to use inside <tt>`centos-art.sh'</tt> script.
    54b5a5

    54b5a5

    The cli_getCurrentLocale function outputs current locale used

    54b5a5
    by <tt>`centos-art.sh'</tt> script.
    54b5a5

    54b5a5
    54b5a5
    54b5a5
    <u>Function:</u> cli_getLangCodes [FILTER]
    54b5a5
    54b5a5
    54b5a5

    Output language codes.

    54b5a5

    54b5a5

    cli_getLangCodes function outputs a list of language codes as

    54b5a5
    defined in ISO639 standard. When FILTER is provided,
    54b5a5
    cli_getLangCodes outputs language codes that match FILTER
    54b5a5
    regular expression pattern.
    54b5a5

    54b5a5

    The cli_getLangCodes function outputs language codes supported

    54b5a5
    by <tt>`centos-art.sh'</tt> script.
    54b5a5

    54b5a5
    54b5a5
    54b5a5
    <u>Function:</u> cli_getLangName [FILTER]
    54b5a5
    54b5a5
    54b5a5

    Output language names.

    54b5a5

    54b5a5

    cli_getLangName function reads one language locale code in the

    54b5a5
    format LL_CC and outputs the language related name as in ISO639. If
    54b5a5
    filter is specified, cli_getLangName returns the language name
    54b5a5
    that matches the locale code specified in FILTER, exactly.
    54b5a5

    54b5a5

    The cli_getLangName function outputs language names supported

    54b5a5
    by <tt>`centos-art.sh'</tt> script.
    54b5a5

    54b5a5
    54b5a5
    54b5a5
    <u>Function:</u> cli_getLocales
    54b5a5
    54b5a5
    54b5a5

    Output locale codes supported by <tt>`centos-art.sh'</tt> script.

    54b5a5

    54b5a5

    Occasionally, you use cli_getLocales function to add locale

    54b5a5
    information in non-common country-specific language (<samp>`LL_CC'</samp>)
    54b5a5
    format for those languages (e.g., <samp>`bn_IN'</samp>, <samp>`pt_BR'</samp>, etc.)
    54b5a5
    which locale differences cannot be solved using common language
    54b5a5
    specifications (<samp>`LL'</samp>) into one unique common locale specification
    54b5a5
    (e.g., <samp>`bn'</samp>, <samp>`pt'</samp>, etc.).  
    54b5a5

    54b5a5
    54b5a5
    54b5a5
    <u>Function:</u> cli_getRepoName NAME TYPE
    54b5a5
    54b5a5
    54b5a5

    Sanitate file names.

    54b5a5

    54b5a5

    Inside <tt>`centos-art.sh'</tt> script, specific functionalities rely both

    54b5a5
    in cli_getRepoName and repository file system organization to
    54b5a5
    achieve their goals.  Consider cli_getRepoName function as
    54b5a5
    central place to manage file name convenctions for other functions
    54b5a5
    inside <tt>`centos-art.sh'</tt> script.
    54b5a5

    54b5a5
    Important

    Important

    cli_getRepoName function doesn't verify file

    54b5a5
    or directory existence, for that purpose use cli_checkFiles
    54b5a5
    function instead.
    54b5a5

    54b5a5
    54b5a5

    The NAME variable contains the file name or directory name you

    54b5a5
    want to sanitate.
    54b5a5

    54b5a5

    The TYPE variable can be one of the following values:

    54b5a5

    54b5a5
    <samp>`d'</samp>
    54b5a5
    <samp>`directory'</samp>
    54b5a5

    Sanitate directory NAMEs.

    54b5a5

    54b5a5
    <samp>`f'</samp>
    54b5a5
    <samp>`regular-file'</samp>
    54b5a5

    Sanitate regular file NAMEs.

    54b5a5

    54b5a5
    54b5a5
    54b5a5

    Use cli_getRepoName function to sanitate file names and

    54b5a5
    directory names before their utilization. 
    54b5a5

    54b5a5

    Use cli_getRepoName when you need to change file name

    54b5a5
    convenctions inside <tt>`centos-art.sh'</tt> script. 
    54b5a5

    54b5a5

    When changing file name convenctions inside cli_getRepoName

    54b5a5
    what you are really changing is the way functions interpret repository
    54b5a5
    file system organization. In order to a complete file name convenction
    54b5a5
    change, you also need to change file names and directory names inside
    54b5a5
    repository file system organization, just as you did in
    54b5a5
    cli_getRepoName function. 
    54b5a5

    54b5a5
    info

    Note

    See section trunk/Scripts/Bash/Functions/Path, for more

    54b5a5
    information on how to rename files and directories massively inside
    54b5a5
    repository file system organization.
    54b5a5

    54b5a5
    54b5a5
    54b5a5
    54b5a5
    <u>Function:</u> cli_getTemporalFile NAME
    54b5a5
    54b5a5
    54b5a5

    Output absolute path to temporal file NAME.

    54b5a5

    54b5a5

    cli_getTemporalFile uses <tt>`/tmp'</tt> directory as source

    54b5a5
    location to store temporal files, the <tt>`centos-art.sh'</tt> script
    54b5a5
    name, and a random identification string to let you run more than one
    54b5a5
    <tt>`centos-art.sh'</tt> script simultaneously on the same user session.
    54b5a5
    For example, due the following temporal file defintion:
    54b5a5

    54b5a5
    cli_getTemporalFile $FILE
    54b5a5
    54b5a5

    If FILE name is <tt>`instance.svg'</tt> and unique random string is

    54b5a5
    <samp>`f16f7b51-ac12-4b7f-9e66-72df847f12de'</samp>, the final temporal file,
    54b5a5
    built from previous temporal file definition, would be:
    54b5a5

    54b5a5
    /tmp/centos-art.sh-f16f7b51-ac12-4b7f-9e66-72df847f12de-instance.svg
    54b5a5
    54b5a5

    When you use cli_getTemporalFile function to create temporal

    54b5a5
    files, be sure to remove temporal files created once you've ended up
    54b5a5
    with them.  For example, consider the following construction:
    54b5a5

    54b5a5
    for FILE in $FILES;do
    54b5a5
    54b5a5
        # Initialize temporal instance of file.
    54b5a5
        INSTANCE=$(cli_getTemporalFile $FILE)
    54b5a5
    54b5a5
        # Do something ... 
    54b5a5
    54b5a5
        # Remove temporal instance of file.
    54b5a5
        if [[ -f $INSTANCE ]];then
    54b5a5
            rm $INSTANCE
    54b5a5
        fi
    4c79b5
    54b5a5
    done
    54b5a5
    54b5a5

    Use cli_getTemporalFile function whenever you need to create

    54b5a5
    temporal files inside <tt>`centos-art.sh'</tt> script.
    54b5a5

    54b5a5
    54b5a5
    54b5a5
    <u>Function:</u> cli_getThemeName
    54b5a5
    54b5a5
    54b5a5

    Output theme name.

    54b5a5

    54b5a5

    In order for cli_getThemeName function to extract theme name

    54b5a5
    correctly, the ACTIONVAL variable must contain a directory path
    54b5a5
    under <tt>`trunk/Identity/Themes/Motifs/'</tt> directory structure.
    54b5a5
    Otherwise, cli_getThemeName returns an empty string.  
    54b5a5

    54b5a5
    54b5a5
    54b5a5
    <u>Function:</u> cli_printMessage MESSAGE [FORMAT]
    54b5a5
    54b5a5
    54b5a5

    Give format to output messages.

    54b5a5

    54b5a5

    When FORMAT is not specified, cli_printMessage outputs

    54b5a5
    information just as it was passed in MESSAGE variable.
    54b5a5
    Otherwise, FORMAT can take one of the following values:
    54b5a5

    54b5a5
    54b5a5
    <samp>`AsHeadingLine'</samp>
    54b5a5

    To print heading messages.

    54b5a5

    ----------------------------------------------------------------------
    54b5a5
    $MESSAGE
    54b5a5
    ----------------------------------------------------------------------
    54b5a5
    54b5a5
    54b5a5
    <samp>`AsWarningLine'</samp>
    54b5a5

    To print warning messages.

    54b5a5

    ----------------------------------------------------------------------
    54b5a5
    WARNING: $MESSAGE
    54b5a5
    ----------------------------------------------------------------------
    54b5a5
    54b5a5
    54b5a5
    <samp>`AsNoteLine'</samp>
    54b5a5

    To print note messages.

    54b5a5

    ----------------------------------------------------------------------
    54b5a5
    NOTE: $MESSAGE
    54b5a5
    ----------------------------------------------------------------------
    54b5a5
    54b5a5
    54b5a5
    <samp>`AsUpdatingLine'</samp>
    54b5a5

    To print <samp>`Updating'</samp> messages using two-columns format.

    54b5a5

    Updating        $MESSAGE
    54b5a5
    54b5a5
    54b5a5
    <samp>`AsRemovingLine'</samp>
    54b5a5

    To print <samp>`Removing'</samp> messages using two-columns format.

    54b5a5

    Removing        $MESSAGE
    54b5a5
    54b5a5
    54b5a5
    <samp>`AsCheckingLine'</samp>
    54b5a5

    To print <samp>`Checking'</samp> messages using two-columns format.

    54b5a5

    Checking        $MESSAGE
    54b5a5
    54b5a5
    54b5a5
    <samp>`AsCreatingLine'</samp>
    54b5a5

    To print <samp>`Creating'</samp> messages using two-columns format.

    54b5a5

    Creating        $MESSAGE
    54b5a5
    54b5a5
    54b5a5
    <samp>`AsSavedAsLine'</samp>
    54b5a5

    To print <samp>`Saved as'</samp> messages using two-columns format.

    54b5a5

    Saved as        $MESSAGE
    54b5a5
    54b5a5
    54b5a5
    <samp>`AsLinkToLine'</samp>
    54b5a5

    To print <samp>`Linked to'</samp> messages using two-columns format.

    54b5a5

    Linked to       $MESSAGE
    54b5a5
    54b5a5
    54b5a5
    <samp>`AsMovedToLine'</samp>
    54b5a5

    To print <samp>`Moved to'</samp> messages using two-columns format.

    54b5a5

    Moved to        $MESSAGE
    54b5a5
    54b5a5
    54b5a5
    <samp>`AsTranslationLine'</samp>
    54b5a5

    To print <samp>`Translation'</samp> messages using two-columns format.

    54b5a5

    Translation     $MESSAGE
    54b5a5
    54b5a5
    54b5a5
    <samp>`AsConfigurationLine'</samp>
    54b5a5

    To print <samp>`Configuration'</samp> messages using two-columns format.

    54b5a5

    Configuration   $MESSAGE
    54b5a5
    54b5a5
    54b5a5
    <samp>`AsResponseLine'</samp>
    54b5a5

    To print response messages using one-column format.

    54b5a5

    --> $MESSAGE
    54b5a5
    54b5a5
    54b5a5
    <samp>`AsRequestLine'</samp>
    54b5a5

    To print request messages using one-column format. Request messages

    54b5a5
    supress the trailing newline character from final output.
    54b5a5

    $MESSAGE
    54b5a5
    54b5a5
    54b5a5
    <samp>`AsYesOrNoRequestLine'</samp>
    54b5a5

    To print <samp>`yes or no'</samp> request messages using one-column format. If

    54b5a5
    something different from <samp>`y'</samp> is answered (when using
    54b5a5
    en_US.UTF-8 locale), script execution ends immediatly.  
    54b5a5

    54b5a5
    $MESSAGE [y/N]:
    54b5a5
    54b5a5

    When you are using <tt>`centos-art.sh'</tt> script in a locale different

    54b5a5
    from en_US.UTF-8, confirmation answer may be different from
    54b5a5
    <samp>`y'</samp>. For example, if you are using es_ES.UTF-8 locale, the
    54b5a5
    confirmation question would look like:
    54b5a5

    54b5a5
    $MESSAGE [s/N]:
    54b5a5
    54b5a5

    and the confirmation answer would be <samp>`s'</samp>, as it is on Spanish

    54b5a5
    <samp>`sí'</samp> word.
    54b5a5

    54b5a5

    Definition of which confirmation word to use is set on translation

    54b5a5
    messages for your specific locale information. See section trunk/Scripts/Bash/Functions/Locale, for more information about locale-specific
    54b5a5
    translation messages.
    54b5a5

    54b5a5
    54b5a5
    <samp>`AsToKnowMoreLine'</samp>
    54b5a5

    To standardize <samp>`to know more, run the following command:'</samp>

    54b5a5
    messages. When the <samp>`AsToKnowMoreLine'</samp> option is used, the
    54b5a5
    MESSAGE value should be set to "$(caller)". caller
    54b5a5
    is a Bash builtin that returns the context of the current subroutine
    54b5a5
    call. <samp>`AsToKnowMoreLine'</samp> option uses caller builtin
    54b5a5
    output to build documentation entries dynamically.
    54b5a5

    54b5a5
    ----------------------------------------------------------------------
    54b5a5
    To know more, run the following command:
    54b5a5
    centos-art help --read='path/to/dir'
    54b5a5
    ----------------------------------------------------------------------
    54b5a5
    54b5a5

    Use <samp>`AsToKnowMoreLine'</samp> option after errors and for intentional

    54b5a5
    script termination. 
    54b5a5

    54b5a5
    54b5a5
    <samp>`AsRegularLine'</samp>
    54b5a5

    To standardize regular messages using one-column format.

    54b5a5

    54b5a5

    When MESSAGE contains a colon inside (e.g., <samp>`description:

    54b5a5
    message'</samp>), the cli_printMessage function outputs MESSAGE
    54b5a5
    using two-columns format. 
    54b5a5

    54b5a5
    54b5a5
    54b5a5
    Info

    Tip

    To improve two-columns format, change the following file:

    54b5a5

    trunk/Scripts/Bash/Styles/output_forTwoColumns.awk
    54b5a5
    54b5a5
    54b5a5

    Use cli_printMessage function whenever you need to output

    54b5a5
    information from <tt>`centos-art.sh'</tt> script.
    54b5a5

    54b5a5
    54b5a5
    54b5a5
    54b5a5

    3.39.3.3 Specific functions

    54b5a5
    54b5a5

    The following specific functions of <tt>`centos-art.sh'</tt> script, are

    54b5a5
    available for you to use:
    54b5a5

    41f1ec
    54b5a5
    3.40 trunk/Scripts/Bash/Functions/Help  
    54b5a5
    54b5a5
    3.41 trunk/Scripts/Bash/Functions/Html  
    54b5a5
    54b5a5
    3.42 trunk/Scripts/Bash/Functions/Locale  
    008ee0
    54b5a5
    3.43 trunk/Scripts/Bash/Functions/Path  
    54b5a5
    54b5a5
    3.44 trunk/Scripts/Bash/Functions/Render  
    54b5a5
    54b5a5
    3.45 trunk/Scripts/Bash/Functions/Render/Config  
    54b5a5
    54b5a5
    3.46 trunk/Scripts/Bash/Functions/Shell  
    54b5a5
    54b5a5
    3.47 trunk/Scripts/Bash/Functions/Svg  
    54b5a5
    54b5a5
    3.48 trunk/Scripts/Bash/Functions/Verify  
    54b5a5
    54b5a5
    54b5a5
    54b5a5
    54b5a5
    54b5a5

    3.39.4 See also

    54b5a5
    54b5a5
    54b5a5
    3.38 trunk/Scripts/Bash  
    af53cb
    54b5a5
    3.49 trunk/Scripts/Bash/Locale  
    41f1ec
    41f1ec
    4c79b5
    4c79b5
    4c79b5
    54b5a5
    [ < ]
    54b5a5
    [ > ]
    4c79b5
       
    4c79b5
    [ << ]
    008ee0
    [ Up ]
    54b5a5
    [ >> ]
    4c79b5
    4c79b5

    4c79b5
     <font size="-1">
    008ee0
      This document was generated on December, 2 2010 using texi2html 1.76.
    4c79b5
     </font>
    4c79b5
     
    4c79b5
    4c79b5

    4c79b5
    </body>
    4c79b5
    </html>