diff --git a/Scripts/Bash/Functions/cli.sh b/Scripts/Bash/Functions/cli.sh index 668a0ba..2d61528 100644 --- a/Scripts/Bash/Functions/cli.sh +++ b/Scripts/Bash/Functions/cli.sh @@ -1,8 +1,8 @@ #!/bin/bash # -# cli.sh -- This function initializes centos-art command line -# interface. Variables defined in this function are accesible by all -# other functions. The cli function is the first script executed by +# cli.sh -- This function initiates centos-art command-line interface. +# Variables defined in this function are accesible by all other +# functions. The cli function is the first script executed by # centos-art command-line onces invoked. # # Copyright (C) 2009, 2010 Alain Reguera Delgado @@ -30,6 +30,10 @@ function cli { # Initialize global variables. local FUNCNAM='' + local FUNCDIR='' + local FUNCDIRNAM='' + local FUNCSCRIPT='' + local FUNCCONFIG='' local ACTIONNAM='' local ACTIONVAL='' local REGEX='' @@ -38,11 +42,43 @@ function cli { # Redefine positional parameters stored inside ARGUMENTS variable. cli_doParseArgumentsReDef "$@" - # Redefine action variables (i.e., FUNCNAM, ACTIONNAM, and - # ACTIONVAL). As convenction we use the first command-line - # argument position to define FUNCNAM, and second argument - # position to define both ACTIONNAM and ACTIONVAL. - cli_getArguments + # Define function directory (FUNCDIR). The directory path where + # functionalities are stored inside the repository. + FUNCDIR=/home/centos/artwork/trunk/Scripts/Bash/Functions + + # Define function name (FUNCNAM) variable from first command-line + # argument. As convenction we use the first argument to determine + # the exact name of functionality to call. + FUNCNAM=$(cli_getRepoName "$1" 'f') + if [[ "$FUNCNAM" =~ '^[a-z]+$' ]];then + + # Define function directory. + FUNCDIRNAM=$(cli_getRepoName $FUNCNAM 'd') + + # Define function file name. + FUNCSCRIPT=${FUNCDIR}/${FUNCDIRNAM}/${FUNCNAM}.sh + + # Define function configuration directory. The function + # configuration directory is used to store functionality's + # related files. + FUNCCONFIG=${FUNCDIR}/${FUNCDIRNAM}/Config + + # Check function script existence. + cli_checkFiles $FUNCSCRIPT 'f' + + else + # Print an error message and stop script execution. + cli_printMessage "`eval_gettext "The function \\\`\\\$FUNCNAM' is not valid."`" 'AsErrorLine' + cli_printMessage "$(caller)" 'AsToKnowMoreLine' + fi + + # Remove the first argument passed to centos-art.sh command-line + # in order to build optional arguments inside functionalities. We + # start counting from second argument (inclusive) on. + shift 1 + + # Redefine positional parameters stored inside ARGUMENTS variable. + cli_doParseArgumentsReDef "$@" # Define default text editors used by centos-art.sh script. if [[ ! "$EDITOR" =~ '/usr/bin/(vim|emacs|nano)' ]];then