camscape - for excellent IT solutions itkb.ro - IT knowledge base

bash :: functie bash pentru prelucrarea variabilelor multiple intoarse de o functie

Cristian
Cristian M.
TitleFunctie bash pentru prelucrarea variabilelor multiple intoarse de o functie
Tagsbash, variabile multiple
Desc.Functie bash pentru prelucrarea variabilelor multiple intoarse de o functie
CodeKBSH0009 v1.0
Date 2 octombrie 2012
Cateodata exista nevoia ca functia Bash sa intoarca nu una ci multiple variabile. Singura varianta este insa un echo la sfarsitul functiei, ceea ce duce la ideea de a returna un string de tipul

var1,var2,var3,var4

Unde "," este separatorul dorit.

Functia de mai jos extrage parametrul dorit din stringul returnat de o alta functie.

function GetResultById {

    # Function to parse a string composed of several parts.
    # Will return the nth part.
    # Usefull to break apart multiple variables returned by a function.
    #
    # Usage: GetResultById "aaa,bbbb,dddd,223" 2 ',' will return bbbb
    #
    # Param:
    #   - string containing all the parts, in the form PART1,PART2,...
    #   - number of desired parameter
    #   - separator (, in the example). Defaults to MULTIPLE_SEP variable
    #     that can be set somewhere else
    #
    # Return:
    #   - desired part
    #
    # Copyright CAMSCAPE SERVICES GPLv2
    # http://www.camscape.ro
    #

    if [ "$3" != "" ]; then
        SEP=$3
    else
        SEP=$MULTIPLE_SEP
    fi

    echo `echo $1 | cut --delimiter="$SEP" -f $2`

}