( WG | 2012. 10. 14., v – 18:56 )

Amikor a part üres string, ott exit 0 az, amit írni szerettél volna, nem pedig quit 0.

Azért a quit()-al léptetem ott is ki, mert akkor már létezik az mktemp-el létrehozott fájl, amit a quit töröl, mielőtt exit-el kilép.


for i in $(seq ${#ext_to_delete[@]}); do
  rm -f "$1".${ext_to_delete[i-1]}
done

helyett ez lett a (majdnem) jó megoldás:


rm -f "$1".${ext_to_delete[i-1]} 2>/dev/null;

Hogyan lehetne megetetni ezzel azt az esetet, amikor türölni akarom:
az összes $1.rar és az összes $1.[A-Za-z][0-9][0-9] nevű fájlt?
Csak a $1.rar-t törli a mostani állapotában, a $1.r00-t és társait már nem.
Az eredeti ciklussal pont az volt a bajom (amire az előző kérdésem vonatkozott), hogy elvégezte ugyan a törlést, de nem igazán volt szükség a ciklusra és az echo is csak azért volt benne, mert a do és a done közé kellett valami. :D

Az is zavar még, hogy a VALAMI.partXXX.rar alakú fájlnevekben az XXX bármennyi db [0-9] számból állhat.
Pl. lehet:
VALAMI.part1.rar
VALAMI.part01.rar
VALAMI.part001.rar, stb.

Ezeket is le lehetne úgy kezelni valahogy, hogy ne kelljen egyesével megadni az összes lehetőséget a számjegyek számát illetően?
Valami ilyesmit találtam, de nem igazán vágom a pontos szintatktikát: [^0-9].

Itt a jelenlegi verzió, átnéznéd ezt is?

A gondolatébresztőt értettem és hálásan köszönöm! Szinte csak be kellett copy-paste-elnem.
A problémám a paraméter nélküli script-indítás esetén az, hogy eredetileg kiterjesztés nélküli fájlnévvel kell meghívni a scriptet, a rekurzió esetén pedig sajnos kiterjesztéssel "hívódik" meg a függvény, így nem is működik. Erre is ki kellene ötölni valamit.

Köszönöm, hogy ennyit foglalkozol velem!

openSUSE 12.2, vagy ami éppen jön.