[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: