Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: bash promena problem  (Přečteno 1904 krát)

PacholeK

  • Návštěvník
  • Příspěvků: 71
bash promena problem
« kdy: 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
}

snop

  • Aktivní člen
  • *
  • Příspěvků: 366
bash promena problem
« Odpověď #1 kdy: 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
...........................--== sNop ==--............................
-- pgp - http://radeonvmod.ic.cz/keys/snop3.asc --
              AMD Sempron 2800+  1024MB RAM               ATI Radeon 9550        2x80GB HDD

PacholeK

  • Návštěvník
  • Příspěvků: 71
bash promena problem
« Odpověď #2 kdy: 01 Září 2006, 13:46:54 »
to neni ono, LINE je v pohode, jde mu o IPLIST

johniez

  • Návštěvník
  • Příspěvků: 81
    • http://www.johniez.com
bash promena problem
« Odpověď #3 kdy: 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.

PacholeK

  • Návštěvník
  • Příspěvků: 71
bash promena problem
« Odpověď #4 kdy: 01 Září 2006, 17:42:14 »
super , dik

 

Provoz zaštiťuje spolek OpenAlt.