Portál AbcLinuxu, 9. května 2025 06:23

Dotaz: Script který se chováí jinak než bych chtěl

Johny z Podoli avatar 2.10.2007 16:25 Johny z Podoli | skóre: 26 | blog: rocfdebian
Script který se chováí jinak než bych chtěl
Přečteno: 214×
Odpovědět | Admin
Ahoj,

něco zkousím, mám script který listne obsah adresáře do proměné, pak jej pomocí cyklu zobrazí. Divné je, že hlásí "příliš dlouhé jméno souboru - neorzumím kde se ta chyba bere.

#!/bin/sh


SEZNAM=`ls --format single-column`

echo "test pred"


(while read JMENO AHOJ; do

echo "$JMENO"

done)<$SEZNAM

echo "test PO"

výstup

johny@c3:~/Desktop/FOTKY/AA/C.Budejovice/Servis$ ./pokus.sh
test pred
./pokus.sh: line 13: celkov� pohled na d�lnu ( workshop facade ).JPG
d�lna ( work base ).JPG
?ekac� m�sto ( customer waiting area ).JPG
P9250147.JPG
P9250148.JPG
P9250149.JPG
P9250151.JPG
P9250152.JPG
P9250153.JPG
P9250154.JPG
P9250155.JPG
P9250162.JPG
pokus.sh
recepce ( reception ).JPG
Thumbs.db
vstup ( entrance ).JPG: Příliš dlouhé jméno souboru
test PO

díky :)
Můj web o táborech: Letní dětské tábory, Hudební tábor , Můj nový blog na Nul.cz
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

2.10.2007 16:41 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Script který se chováí jinak než bych chtěl
Odpovědět | | Sbalit | Link | Blokovat | Admin
Přesměrování < načítá vstup ze souboru, jehož jméno je uvedeno za lomenou závorkou. Po expanzi proměnné se tedy váš skript pokouší dělat tohle:
…
(while read JMENO AHOJ; do

echo "$JMENO"

done)<'dílna ( work base ).JPG
čekací místo ( customer waiting area ).JPG
P9250147.JPG
P9250148.JPG
P9250149.JPG
P9250151.JPG
P9250152.JPG
P9250153.JPG
P9250154.JPG
P9250155.JPG
P9250162.JPG
pokus.sh
recepce ( reception ).JPG
Thumbs.db
vstup ( entrance ).JPG'
…
Přičemž to celé tučné v jednoduchých uvozovkách je bráno jako jméno souboru.

Máte nějaký zvláštní důvod ten skript psát zrovna takhle?

Co třeba
ls --format single-column | while read JMENO AHOJ; do
echo "$JMENO"
done
Pokud s tím tedy chcete ještě něco dál dělat, ten skript je zatím ekvivalentní (až na ty pomocné výpisy) prostému
ls --format single-column
Johny z Podoli avatar 2.10.2007 16:52 Johny z Podoli | skóre: 26 | blog: rocfdebian
Rozbalit Rozbalit vše Re: Script který se chováí jinak než bych chtěl
Díky moc.

Potřebuji průchod cyklem a jména souborů - script bude ve výsledku dle obsahu EXIF nějak pomocí imagegicu upravovat fotky. Potřebuji mít možnost dalších konstrukcí v těle cyklu.

díky, Johny
Můj web o táborech: Letní dětské tábory, Hudební tábor , Můj nový blog na Nul.cz
2.10.2007 18:54 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Script který se chováí jinak než bych chtěl
Můžete napsat skript, který bude pracovat s jedním souborem, a pak použít příkaz find. A nebo tenhle skript můžete upravit na
for file in * ;
do
  echo $file
done

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.