Portál AbcLinuxu, 8. prosince 2025 08:44
#!/bin/bash
function MyReader(){
local i r
declare -i i=0
declare -a POLE=()
while read r; do
POLE+=("$r")
let i++
done < /file
unset i r
}
Pokud nahradím
declare -a POLE=()pouze za
POLE=()tak to funguje, nějaká rada prosím? Díky
Řešení dotazu:
mam taky GNU bash, verze 5.1.4(1)-release (x86_64-pc-linux-gnu) a uplně normálně mi to jede :O :O
asi jakoby víc upřesni co myslíš tim že to nefunguje :O :O
echo ${POLE[@]}
vypíše uvnitř funkce všechny prvky ale v jiné funkci už ne.
nóóóóó protože to je vtý funkci jako lokální proměná :O ;D jestli jakoby chceš aby k tý proměný mohlo přistupovat víc funkcí tak tu proměnou asi chceš udělat globální ;D
hele příklady nějaký :D ;D
When used in a function, declare makes each name local, as with the local command, unless the -g option is used.
ajo :D
možná jakoby zkuz to pole deklarovat takle s tim g navíc :O :O
declare -ag POLE=()
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.