Fórum Ubuntu CZ/SK

Ostatní => Archiv => Téma založeno: PacholeK 01 Září 2006, 12:37:59

Název: bash promena problem
Přispěvatel: PacholeK 01 Září 2006, 12:37:59
kamos v cyklu plni nejakou promenou, ... je naplnena, ale mimo cyklus neni naplnena, kde je chyba?
Kód: [Vybrat]
prepareIP () {
        local LINE=""
        IPLIST="XXXX "
        grep '^\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1\}\)\{1\}' $ERNET_DATAFILE | while read LINE; do
        #       echo $LINE
                local IP=`echo "$LINE" | awk '{print $1}'`
        #       echo $IP
                IPLIST="$IPLIST$IP "
                echo $IPLIST
        done

        echo "IPLIST = $IPLIST"

        return
}
Název: bash promena problem
Přispěvatel: snop 01 Září 2006, 13:18:39
no skoro vubec nerozumim sh prikazom, ale umim trochu c-ecko a podle toho co pises tak to vypada na ze pises o promene LINE, kdyz predni zrusis local tak by mnela fungovat i mimo funkce...odpis ci sem tipnul spravne
Název: bash promena problem
Přispěvatel: PacholeK 01 Září 2006, 13:46:54
to neni ono, LINE je v pohode, jde mu o IPLIST
Název: bash promena problem
Přispěvatel: johniez 01 Září 2006, 16:51:35
Problem zpusobuje pipe |. Dojde totiz ke spusteni subshellu, v nem je IPLIST dobre, ale po jeho ukonceni se vraci k puvodni hodnote ve starym shellu.
Název: bash promena problem
Přispěvatel: PacholeK 01 Září 2006, 17:42:14
super , dik