Portál AbcLinuxu, 4. května 2025 19:23

Dotaz: Syntax error v cyklu while

12.12.2021 19:36 pepa
Syntax error v cyklu while
Přečteno: 483×
Odpovědět | Admin
Ahoj, můžete mi poradit jak to opravit? Děkuji za případnou pomoc.
#!/bin/sh
while read id
do
..
done < <(ls ~/dir/"$SLD")
dostanu chybu
syntax error near unexpected token `<'
`	done < <(ls ~/dir/"$SLD")'
zkoušel jsem i
$(ls ~/dir/"$SLD")
ale taky dostanu chybu
ambiguous redirect

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (Bhezret)
12.12.2021 20:57 z_sk | skóre: 34 | blog: analyzy
Rozbalit Rozbalit vše Re: Syntax error v cyklu while
Odpovědět | | Sbalit | Link | Blokovat | Admin
ls ~/dir/"$SLD" | while read id
do
..
done
debian.plus@protonmail.com
13.12.2021 16:27 pepa
Rozbalit Rozbalit vše Re: Syntax error v cyklu while
Děkuji, echo $id vypíše položky ale když dám vypsat pole echo ${A[@]} tak tam nic není. Co je špatně?
A=()
ls ~/dir/"$SLD" | while read id
do
  A+=($id)
  echo $id
done
13.12.2021 16:37 X
Rozbalit Rozbalit vše Re: Syntax error v cyklu while
Nevim jestli to pomuze, ale urcite je bezpecnejsi:
A+=("$id")
  echo "$id"
13.12.2021 16:46 pepa
Rozbalit Rozbalit vše Re: Syntax error v cyklu while
id obsahuje pouze čísla, ale zkusil jsem to dát i do uvozovek, je to stejný.
Gréta avatar 13.12.2021 20:39 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Syntax error v cyklu while

protože trubičky běžej v subshellu a každej subshell má svý proměný a když subshell doběhne tak se to všecko ztratí a je to uplně fuč :O ;D

tendlecten tvuj skript de udělat tak aby byl uplně bez trubiček :O ;D

+- jeto to samý co si tady měl jakoby už předtim :D ;D

#!/usr/bin/env bash

pole=()
while read id
do
  pole+=($id)
  echo $id
done < <(ls /home/pepa/Videa/sprosty) 

echo ${pole[@]}
14.12.2021 01:09 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše

Nesmysl.

Řešení 1× (Andrej)
12.12.2021 22:06 X
Rozbalit Rozbalit vše Re: Syntax error v cyklu while
Odpovědět | | Sbalit | Link | Blokovat | Admin
#!/bin/bash
14.12.2021 01:11 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Syntax error v cyklu while
Odpovědět | | Sbalit | Link | Blokovat | Admin

Nikdy neparsuj výstup z ls. Je to

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.