(gelöst) script für convert

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
tobo
Beiträge: 1964
Registriert: 10.12.2008 10:51:41

Re: (gelöst) script für convert

Beitrag von tobo » 01.07.2016 13:36:54

guennid hat geschrieben:während tobo wohl der Ansicht war ${name} wäre zumindest das [...]
Lesbarere. Habe ich nicht gesagt, hätte ich aber gesagt. Und zwar völlig unabhängig davon, ob danach ein für einen Variablennamen gültiges Zeichen folgt oder nicht. So ein Quelltext steht und fällt mit der Lesbarkeit des Textes...

guennid

Re: (gelöst) script für convert

Beitrag von guennid » 01.07.2016 14:40:51

@Rheinwerk: Shellscripting-Online-Buch
Ich hatte mir vor Jahren mal 2-3 Lehrbücher für Shell-Programmierung besorgt. Titel finde ich nicht mehr, wohl weil ich die in den Müll gegeben habe. Ich konnte nie was damit anfangen Und nach erstem Schnuppern befürchte ich mit: Rheinwerk: Shellscripting-Online-Buch geht es mir genauso. OK, mag man sagen, Schnuppern reicht halt nicht. Aber das ist meine Herangehensweise. Ein Buch lese ich an und wenn dieses Anlesen ergibt, dass es mir was bringen könnte, erst dann beschäftige ich mich intensiver damit. Falls gewünscht und falls ich Zeit!!! fände, wäre ich bereit, mein Vor-Urteil an "2.1.2 Variablen-Interpolation" zu erläutern. Ich erinnere daran, dass ich eigentlich lediglich Bilder (genauer gesagt Bilder, die was mit Musik zu tun haben) in ein PDF-File transferieren wollte. Den Aufwand, den ich dazu getrieben habe, kann man hier nachlesen. (1) Aus diesem Aufwand ist niemand ein Vorwurf zu machen (keinem Programm/Programmierer und keinem df-Helfer), nur bitte ich um ein wenig Verständnis dafür, dass mir dieser Aufwand eigentlich reichte.

Im Übrigen, wie schon gesagt, Ich habe gar nicht den Ehrgeiz Hochleistungen in shell-scripting zu erbringen. Ich habe ziemlich breit gefächerte Interessen. Darf ich deswegen jetzt nicht mehr an die Konsole?
(1) viewtopic.php?f=29&t=160801&hilit=gimp+pdf

Grüße, Günther

Liffi
Beiträge: 2304
Registriert: 02.10.2004 01:33:05

Re: (gelöst) script für convert

Beitrag von Liffi » 01.07.2016 14:59:59

Ich hab hier übrigens tatsächlich ein brauchbares deutsches Buch stehen: Shell-Skript-Programmierung von Patrick Ditchen. Sollte eigentlich das meiste abdecken.

Benutzeravatar
Meillo
Moderator
Beiträge: 8781
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: (gelöst) script für convert

Beitrag von Meillo » 01.07.2016 16:28:57

guennid hat geschrieben:
meillo hat geschrieben:dieses Rumgejammere, dass du einerseits Shellscripten willst, dich andererseits aber nicht damit befassen willst.
Ich will ja gar nicht shell-scipten. Dafür ist mir Syntax viel zu undurchsichtig. Ich will ein konkretes Problem lösen: Bilder in ein seitenorientiertes PDF-File transferieren. Dazu werde ich schwerlich ein geeignetes Debian-Binary finden. Bleiben für mich zwei Möglichkeiten entweder ich baue mir selbst eins mit Pascal oder ich bemühe die shell. Da das, im vorliegenden Fall wie gezeigt, weiter nichts als ein Einzeiler ist, schien mir das das Praktischere.
Und damit ``willst'' du eben doch Shellscripten! Du willst es eher als jeden anderen Loesungsweg.
Aber die Syntax ist eben nicht praktisch.
Der Knackpunkt ist, dass dir der beste der moeglichen Wege nicht gut genug ist ... Du haettest gerne eine Idealoption, die es aber nicht gibt.



uname hat geschrieben:Die Gründe für die Syntax kenne ich natürlich auch nicht. Ich könnte mir aber vorstellen, dass [ (test) eine schließende Klammer erfordert, um das Ende der Parameter einfacher zu erkennen und somit den Befehl besser zu parsen. Moderne Sprachen mit fast unendlich viel CPU, RAM und Plattenplatz können hier weit großzüger sein. Wobei mir ehrlich kein Zeichen bzw. das Fehlen eines Zeichens als sinnvoll erscheint, um [ korrekt nach Chomsky-Hierarchie (war es nicht kontextfrei und damit CH Typ 2 / Backus-Naur-Form ) zu beenden.
Da bist du auf dem Holzweg, wie Liffi schon erkannt hat. Mit dem Parsen hat das rein gar nichts zu tun. Das ist ausschliesslich syntactic Sugar. (Man darf nicht vergessen, dass `[' nur ein Alias fuer test(1) ist. Ruft man es als ``test'' auf, dann darf das letzte Argument *keine* schliessende eckige Klammer sein; ruft man das Kommando als ``['' auf, dann *muss* das letzte Argument eine schliessende eckige Klammer sein.)

Es ist ganz sicher so, dass die Bourne-Shell-Syntax nicht ideal ist ... aber man muss bei der Kritik auch beruecksichtigen, dass der Verbesserungsversuch aus Berkeley, naemlich die csh-Syntax noch schlimmer war. Ganz so einfach scheint das Problem also nicht zu loesen sein!

Natuerlich sind wir inzwischen ein paar Jahrzehnte weiter, aber dafuer gibt es auch ein paar Jahrzehnte mehr Kompatibilitaet zu wahren. Man kann es auch so sehen: Bislang hat sich keine Shell mit besserer (inkompatibler!) Syntax durchgesetzt ... noch nicht mal rein interaktiv. Warum denn nicht, wo die Bourne-Shell doch anscheinend so schlecht ist? Auch guennid macht's lieber in der haesslichen Shell als in Python o.ae. -- Alle jammern nur rum, dass die Bourne-Shell so schlecht sei, sehen sie aber gleichzeitig trotzdem als das geringste Uebel an, weil sonst wuerden sie sie ja nicht verwenden sondern eine der vielen Alternativen. Das ist es, was *ich* nicht verstehe.

Und fuer alle die am ``Ach, haette man es halt damals besser gemacht!'' haengen bleiben, denen kann nur Plan9 ans Herz gelegt werden, denn das ist effektiv ein ``Unix besser gemacht''. Wenn ihr also eine Bourne-Shell in ``besser gemacht'' sucht, dann solltet ihr mal rc(1) versuchen. -- Also tun und nicht jammern!
Use ed once in a while!

Benutzeravatar
tegula
Beiträge: 439
Registriert: 04.06.2004 13:51:04
Lizenz eigener Beiträge: MIT Lizenz

Re: (gelöst) script für convert

Beitrag von tegula » 01.07.2016 16:46:36

guennid hat geschrieben:Ich will ja gar nicht shell-scipten. Dafür ist mir Syntax viel zu undurchsichtig. Ich will ein konkretes Problem lösen: Bilder in ein seitenorientiertes PDF-File transferieren. [...]
Dafür brauchst du aber kein Script:

Code: Alles auswählen

convert *.png -resize 2480x3508 -units PixelsPerInch -density 300x300 <<< echo 'Dateiname.pdf'

guennid

Re: (gelöst) script für convert

Beitrag von guennid » 02.07.2016 19:13:31

tegula hat geschrieben:Dafür brauchst du aber kein Script:

Code: Alles auswählen

convert *.png -resize 2480x3508 -units PixelsPerInch -density 300x300 <<< echo 'Dateiname.pdf'
Ach tegula! :wink:
meillo hat geschrieben:Alle jammern nur rum, dass die Bourne-Shell so schlecht sei
Ich nicht!

Ich hab's jetzt so formuliert:

Code: Alles auswählen

convert /pfad/*.png -resize 2480x3508 -units PixelsPerInch -density 300x300 /pfad/${1}.pdf
einschließlich - " syntactic sugar" - nehme ich an. Zufrieden, Meillo? :mrgreen:

@MaGe
Bei mir passiert das (-1, -2, -3, etc), wenn du vergisst, dem script beim Aufruf den Dateinamen mitzugeben.

Grüße, Günther
Zuletzt geändert von guennid am 03.07.2016 17:09:33, insgesamt 5-mal geändert.

MaGe
Beiträge: 1708
Registriert: 01.06.2014 17:12:16

Re: (gelöst) script für convert

Beitrag von MaGe » 02.07.2016 22:50:42

guennid hat geschrieben:

@MaGe
Bei mir passiert das (-1, -2, -3, etc) wenn du vergisst, dem script beim Aufruf den Dateinamen mitzugeben.
:facepalm: :THX:


gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Antworten