Portál AbcLinuxu, 7. listopadu 2025 06:59
skript:
xxx=cau
echo $xxx
echo -e "1 2 3\n4 5 6"|\
while read a b c
do echo $a
echo $xxx
xxx=ahoj
done
echo $xxx
mi vyhodi:
cau
1
cau
4
ahoj
cau
Proc shell promennou z cyklu "zapomene" a vraci se k puvodni?
Jak ji vyexportovat aby mi vypsal:
cau
1
cau
4
ahoj
ahoj
xxx=cau echo $xxx echo -e "1 2 3\n4 5 6"|\ while read a b c do echo $a echo $xxx export xxx=ahoj #tohle jsem uz predtim zkousela, ale nejde to export $xxx #tohle mi taky nejde done echo $xxx
Jasne. Konkretni problem neresim, jen mi prislo divny: mam cyklus s promennou xxx, ktera po poslednim pruchodu cyklem nabyva hodnotu "cau". Po skonceni cyklu je echo $xxx a promenna uz najednou nenabyva hodnoty "cau". Promenna je prazdna nebo, byla-li predtim definovana, nabyva hodnoty pred cyklem.
#!/usr/bin/python
xxx = 'cau'
print xxx
for a, b, c in ((1,2,3), (4,5,6)):
print a
print xxx
xxx = 'ahoj'
print xxx
Vypíše dle očekávání tohle:
cau 1 cau 4 ahoj ahoj
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.