Re: [Vielleicht OT]Bash-Script-Programmierung
On 13.05.2010 02:25, Jan Kohnert wrote:
> Mart Frauenlob schrieb:
>> On 12.05.2010 21:01, Peter Schütt wrote:
>>> for file in $ROOT/subdir/*.dat; do
>>> DESTFILE=$ROOT/destdir/`basename $file`
>>>
>>> if [ -e $DESTFILE ]; then
>>> DESTPREFIX=$ROOT/destdir/`basename $DESTFILE .dat`
>>> N=2
>>> DESTFILE=`echo $DESTPREFIX`_$N.dat
>>> while [ -e $DESTFILE ]
>>> do
>>> N=$((N+1))
>>> DESTFILE=`echo $DESTPREFIX`_$N.dat
>>> done
>>> fi
>>> mv -v $file $DESTFILE
>>> done
>>>
>>
>> ist vielleicht nicht so von Bedeutung für dich aber da ist eine
>> race-condition.
>
> Aber doch nur, wenn man das Script doppelt auf denselben Endordner laufen
> lässt, oder täusche ich mich da? Wenn es nur einmal läuft, läuft es
> sequenziell ab und es wird bei jeder Datei geprüft, ob eine Datei dieses
> Namens im Endordner schon existiert und hochgezählt. Dann gemoved und weiter
> geht es mit der nächsten Datei. Ok, wenn das Script nur einmal läuft, man aber
> noch wild im Endordner rumspielt, während das Script läuft, kann es auch zu
> Problemen kommen, aber das will man ja eigentlich nicht.
>
> Oder hab ich da noch etwas entscheidendes übersehen?
>
höchstwahrscheinlich nur von Belang auf multi-user Systemen wo viel los
ist (öffenlich).
Reply to: