Portál AbcLinuxu, 13. července 2025 10:33


Dotaz: BASH a získání výsledků z funkcí

5.2.2014 11:55 Pepe
BASH a získání výsledků z funkcí
Přečteno: 282×
Odpovědět | Admin
!!! EDIT !!! Prosím admina o smazání předchozího příspěvku. Díky

Ahoj, když chci naplnit proměnou výsledkem z funkce tak to udělám takto
#!/bin/bash

myfci(){
  local VAR;
  VAR=10;
  echo $VAR;
}

MYVAR=$(myfci);
Jak to udělám když chci naplnit pole výsledkem z funkce? Takto mi to nejde.
myfci2(){
  local ARR;
  ARR=("10" "20" "30");
  echo ${ARR[@]};
}

MYARR=($(myfci2));
Poradí někdo? Díky
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.2.2014 14:03 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: BASH a získání výsledků z funkcí
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mne to ide.
If you hold a Unix shell up to your ear, you can you hear the C.
6.2.2014 23:10 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
Rozbalit Rozbalit vše Re: BASH a získání výsledků z funkcí
Odpovědět | | Sbalit | Link | Blokovat | Admin
řekl bych, že problém je u vás v nastaveném delimiteru IFS, protože mně to funguje dobře. Mám podobný případ :

function lines() {
  IFO="$IFS"
  IFS="|"
.......
  IFS="$IFO"
  echo $he $wi
}

...
...
msizes=(`lines "$q"`)
mlines=${msizes[0]}
mwidth=${msizes[1]}

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.