[Alug] Frage zum Skripten

Christian Bricart christian at bricart.de
Mon Nov 23 19:22:30 CET 2009


D. Buchkremer schrieb:
> Am Montag, 23. November 2009 18:53 schrieb Christian Bricart 
> <christian at bricart.de>:
>> D. Buchkremer schrieb:
>>> Hallo zusammen,
>>>
>>> lange nix von mir hören lassen und im IRC auch nicht unterwegs, ich
>>> hoffe, ich werde nicht als Alien behandelt, wenn ich jetzt
>>> plötzlich mit ner Frage rüberkomme... ;-)
>>>
>>> Also: ich habe als "Skripter-Newbie" (Autodidakt, aber hat halbwegs
>>> geklappt ;-) ) ein kleines Problem bei meinem ersten Skript-Projekt
>>> (bash, noch auf Etch).
>>> Bekloppt wie ich bin, habe ich natürlich sofort mit was
>>> kompliziertem angefangen... Trotzdem funktioniert es mittlerweile
>>> weitgehend. Ein Problem scheinen noch folgende zwei Zeilen
>>> darzustellen, bei denen er mir sagt:
>>> "./Find-non-null-blocks_v0.3.14,06.sh: line 229:  : command not
>>> found ./Find-non-null-blocks_v0.3.14,06.sh: line 230:  : command
>>> not found"
>>>
>>> (Ja, ich weiß, "line 230". S.o., ein wenig bekloppt, sowas dickes
>>> auf bash zu schreiben... ;-> )
>>>
>>> Die beiden Zeilen lauten:
>>> "    	dd if=$PAR1 of=$file bs=$PAR3 count=1 skip=$a;
>>>     	sz=$(stat -c %s $file);
>>> "
>>> Entdeckt von euch jemand, was da nicht stimmen könnte?
>> Was steht zum o.g. Ausführungszeitpunkt and der Stelle in der
>> Variablen "${file}"..?
> 
> Der Inhalt eines 512B-Blocks von einer meiner HDDs. ;->
> Also irgendwas binäres.

und wie genau soll dann deiner Meinung nach, wenn in $file irgendwelcher
512 Byte Binärmüll drinsteht, der Dateiname aussehen, in den du damit
schreiben willst...?!? (<- "dd ... of=$file .." ) und danach die Größe
dieses Dateinamens abfragst (<- "stat -c %s $file" ) ..?!?
Ich kann's dir sagen: ein Dateiname der Länge 512Byte bestehend aus
Binärmüll-Zeichen... ;-)


> Willst du das komplette Skript sehen? Aber nicht lachen, bitte. ;-)

ich kann mich jetzt schon kaum halten ;-))) SCNR ;-))


> 
>> Grüsse
>>   Christian
>>
>> P.S. Und lass direkt mal so komische Zeichen aus Dateinamen, bevor
>> dir die irgendwann (so wie wahrscheinlich jetzt z.B.) auf die Füße
>> fallen... 
> 
> Das war bei diesem Projekt bisher noch nie ein Problem, bzw. ist mir 
> auch nie irgendwie auffällig geworden. Trotzdem danke nochmal für 
> diesen Tip. Ich hatte allerdings eh vor, das Komma wegzuschmeißen, wenn 
> ich "fertig" bin, es also komplett läuft. (Dieser Namensbandwurm ist  
> nur um die Nummer des "Versuchs" zu kennzeichnen, damit ich beim 
> Probieren nicht durcheinander komme und die Ausgaben nachher noch 
> zuordnen kann...). Ich mach das auch ausschließlich an dieser Stelle, 
> im Skript selbt ist alles schön simpel, keine Sonder-/Metazeichnen in 
> irgendwelchen Variablennamen (ok, außer in einer, aber die funktioniert 
> trotzdem, da hakt nix ;-) ).
> Also mit anderen Worten: ich meine, inzwischen einschätzen zu können, 
> daß das Problem, was ich momentan habe, definitiv nicht daher rührt. 
> (90% des Skripts laufen ja erwartunggemäß, -> sollte nicht am 
> Dateinamen liegen, oder?)

Ich bin nur davon ausgegangen (wie du wahrscheinlich auch ;-) ), dass in
$file schon dem Namen der Variable nach ein Dateiname drinstehen
sollte... und wenn ich dann sehe, wie du deine Dateien denn so nennst
und dann im Skript keine Quotierung von solchen Zeichenketten verwendest..

Christian

> 
>> (Ich spreche hierbei von dem Komma in deinem 
>> Skript-Dateinamen..) Oder tu dies eben nur absichtlich, um direkt
>> solche Eventualtitäten wie gerade aufgetreten richtig abzufangen,
>> bevor es jemand anders tut.. ;-)
> 
> Also du meinst, ich soll direkt dazuschreiben, warum das so strange 
> aussieht, oder wie jetz? Wenn ich das richtig verstanden habe, dann 
> steht die Erklärung jetzt hier drüber und künftig versuche ich direkt 
> dran zu denken. :-)
> 
>>
>> _______________________________________________
>> ALUG mailing list
>> ALUG at lists.alug.de
>> http://lists.alug.de/mailman/listinfo/alug
>> http://alug.de/
> 
> David
> _______________________________________________
> ALUG mailing list
> ALUG at lists.alug.de
> http://lists.alug.de/mailman/listinfo/alug
> http://alug.de/
>