Pro-Linux.de

Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 22. Nov 2018 11:44

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 23 Beiträge ]  Gehe zu Seite Vorherige 1 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: 03. Mär 2014 16:03 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Zitat:
Zitat:
Code:
echo $@ >&2
liefert (Beispiel):
Code:
/mnt/data/Geraete/HiFiRack/pre/AmpLog/amp_log.asc
Code:
echo $1 >&2
übrigens auch.
Aber sobald ein Leerzeichen im Pfad oder Dateinamen auftaucht, wird der String da abgehackt. Bei $1, nicht bei $@.

Wer hat eine plausible Erklärung dafür?
Du willst "$1", nicht $1.

$@ ist auch falsch, denn der entfernt zunächst den Whitespace und klatscht das ganze dann wieder mit Leerzeichen zusammen. Das geht schief, sobald man Tabs oder mehrere Leerzeichen hintereinander im Parameter hat.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 03. Mär 2014 21:03 
Offline

Registriert: 01. Mär 2014 17:29
Beiträge: 17
Wohnort: Gilching
Zitat:
Fehler passieren mir doch auch dauernd und da bin ich froh, wenn mich jemand auf den Irrtum hinweist. Sonst bleibt der nämlich stehen und der nächste der es liest macht ihn nach.
Uff, dann isses ja gut. ;)
Zitat:
Ich mache jeden Tag Fehler. Wir müssen eine Kultur entwickeln, in der Fehler nicht als etwas Negatives gesehen werden, sondern als etwas, woraus alle lernen können.
(Aus einem Artikel in der "Süddeutschen", so vielleicht vor 10 Jahren, überschrieben: "Fehler im System") Etwas Mut muss man Herrn Professor schon zugestehen, mancher andere hätte da viel zuviel Angst vor der Gefahr eines "Karriereknicks", würde ich sagen.

http://www.swtr.ch/index.php/de/der-swi ... r&catid=39

Also schau' doch mal, was sich da jetzt als wahrscheinlichste Ursache für das ganze Problem herauskristallisiert. (Will nicht dauernd hin- und herkopieren - wozu gibt's Links? Richtig, zum Anklicken.) :wink:

http://debianforum.de/forum/viewtopic.p ... 74#p979085

_________________
Mit einem Computer kann man Probleme lösen, die man ohne ihn nicht hätte.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 03. Mär 2014 22:58 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Zitat:
Etwas Mut muss man Herrn Professor schon zugestehen, mancher andere hätte da viel zuviel Angst vor der Gefahr eines "Karriereknicks", würde ich sagen.

http://www.swtr.ch/index.php/de/der-swi ... r&catid=39
War mir dunkel bekannt. Medizin ist aber auch wirklich furchtbar. Da für Mediziner der Doktorgrad praktisch obgligatorisch ist, steht es um die Qualität der abgelieferten Arbeiten nicht gut, zumal die wenigsten wirklich wissenschaftlich arbeiten wollen. Die wollen einfach kranken Menschen helfen (und 'nen dicken Wagen zum Golfplatz rollen lassen). Um die ganzen "Studien", die ständig zu den abstrustesten Gesundheitsthemen rauskommen geht's da ja noch nichtmal.

Aber ganz generell zum Thema Cargo-Kult in der Wissenschaft kontere ich mit http://dresdencodak.com/2011/04/19/dark-science-09/. Ist inzwischen also schon Popkultur geworden.
Zitat:
Also schau' doch mal, was sich da jetzt als wahrscheinlichste Ursache für das ganze Problem herauskristallisiert. (Will nicht dauernd hin- und herkopieren - wozu gibt's Links? Richtig, zum Anklicken.) :wink:

http://debianforum.de/forum/viewtopic.p ... 74#p979085
Tut mir leid, aber anhand jenes Threads sehe ich das konkrete Problem nicht. Dass es um korrektes Quoting geht hatten wir schon.

Wenn du in einem Shellskript irgendwo Einzelticks setzt, wird der String in den Einzelticks "literal" angenommen, also Variablen nicht aufgelöst. Wenn das in einem deiner Beispiele - wie oben mit gedit - nicht der Fall ist, benutzt du an der Stelle wo diese Quotes beachtet werden keine Bourne-kompatible Shell. Deshalb ist es ja auch so wichtig, die richtigen Quotes zu benutzen. Die Backslashes aus den MS-Windows-kompatiblen Dateipfaden können auch noch stören, wenn sie nicht richtig maskiert worden sind. Das ist alles ziemlich häßlich.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 04. Mär 2014 11:41 
Offline

Registriert: 01. Mär 2014 17:29
Beiträge: 17
Wohnort: Gilching
Zitat:
Zitat:
Etwas Mut muss man Herrn Professor schon zugestehen, mancher andere hätte da viel zuviel Angst vor der Gefahr eines "Karriereknicks", würde ich sagen.

http://www.swtr.ch/index.php/de/der-swi ... r&catid=39
War mir dunkel bekannt. Medizin ist aber auch wirklich furchtbar. Da für Mediziner der Doktorgrad praktisch obgligatorisch ist, steht es um die Qualität der abgelieferten Arbeiten nicht gut, zumal die wenigsten wirklich wissenschaftlich arbeiten wollen. Die wollen einfach kranken Menschen helfen (und 'nen dicken Wagen zum Golfplatz rollen lassen).
Oh, da gibt's solche und solche. :wink: Ich musste manchen Arzt schlecht behandeln, um die zu finden, die mich richtig behandeln. :wink: Bis auf einen: Meinen Zahnarzt. Bei dem bin ich schon ewig, der ist einfach Spitze, und der hat bis heute keinen Doktortitel. Was er aber allein mit meinen Beißerchen schon angestellt hat, ist echt reif für eine Doktorarbeit. (Wurzelbehandlung unter einer Brücke u.ä. - hat die Welt schon sowas gesehen?) Ich hab' ihn mal auf das Thema "Doktorarbeit" angesprochen: "Die ruht!"

http://www.zahnarzt-bauer.de/

Seit einem Jahr ist die Hälfte meines Gebisses "neu", und ich habe keinen Cent zugezahlt. Kaum zu glauben? Aber wahr!

Das ist ein Thema, über das es sich lohnt, zu diskutieren, und ich kann eine Menge Erfahrungen mit Ärzten und Krankenkassen weitergeben, von denen alle profitieren können. Passt aber wohl absolut nicht hierher. :wink:
Zitat:
Wenn du in einem Shellskript irgendwo Einzelticks setzt, wird der String in den Einzelticks "literal" angenommen, also Variablen nicht aufgelöst. Wenn das in einem deiner Beispiele - wie oben mit gedit - nicht der Fall ist, benutzt du an der Stelle wo diese Quotes beachtet werden keine Bourne-kompatible Shell. Deshalb ist es ja auch so wichtig, die richtigen Quotes zu benutzen. Die Backslashes aus den MS-Windows-kompatiblen Dateipfaden können auch noch stören, wenn sie nicht richtig maskiert worden sind.
Das versuche ich zu verstehen. Schrittweise. Learning by doing. :wink:
Zitat:
Das ist alles ziemlich häßlich.
Wieso hässlich?

_________________
Mit einem Computer kann man Probleme lösen, die man ohne ihn nicht hätte.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 04. Mär 2014 12:08 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Zitat:
Zitat:
Das ist alles ziemlich häßlich.
Wieso hässlich?
Wenn du die richtige Lösung für dein konkretes Quotingproblem gefunden hast wirst du mir zustimmen.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 04. Mär 2014 12:36 
Offline

Registriert: 01. Mär 2014 17:29
Beiträge: 17
Wohnort: Gilching
Aaalso so heißt meine übergebene Datei (und so gibt's mir auch "echo $@ >&2" aus:
Code:
/mnt/data/Geraete/HiFiRack/pre/AmpLog/test blank.asc
Das macht mein Script draus (und so gibt's mir auch "echo $winpath >&2" aus):
Code:
D:\\Geraete\\HiFiRack\\pre\\AmpLog\\test\ blank.asc
Im Terminal funzt das:
Code:
wine 'C:\Program Files\LTC\LTspiceIV\scad3.exe' D:\\Geraete\\HiFiRack\\pre\\AmpLog\\test\ blank.asc
-> LTSpice startet und öffnet die Datei.

Aus dem Script nicht:
Code:
wine 'C:\Program Files\LTC\LTspiceIV\scad3.exe' $winpath
Da sagt mir LTSpice:
Zitat:
D:\\Geraete\\HiFiRack\\pre\\AmpLog\\test\ was not found
Also nächster Versuch:
Code:
wine 'C:\Program Files\LTC\LTspiceIV\scad3.exe' '$winpath'
Message von LTSpice:
Zitat:
$winpath was not found

_________________
Mit einem Computer kann man Probleme lösen, die man ohne ihn nicht hätte.


Zuletzt geändert von wodim am 04. Mär 2014 21:00, insgesamt 2-mal geändert.

Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 04. Mär 2014 13:10 
Offline

Registriert: 01. Mär 2014 17:29
Beiträge: 17
Wohnort: Gilching
Code:
winpath=${@//'/mnt/data'/'D:'} 					# /mnt/data ist Wine - Laufwerk D
winpath=${winpath//'/'/'\\'}   					# Slashs durch doppelte Backslash ersetzen
winpath=${winpath//' '/'\ '}   					# Blanks mit Backslashs maskieren
wine 'C:\Program Files\LTC\LTspiceIV\scad3.exe' "$winpath"
Message von LTSpice:
Zitat:
D::\Geraete\HiFiRack\pre\AmpLog\test\ blank.asc contains an invalid path.
Also was war der Fehler? Blanks mit Backslash zu "maskieren". Wenn ich den Befehl weglasse, geht's! Aber nur bei Wine. ;)
Code:
file=${@//' '/'\ '} # Blanks mit Backslashs maskieren
gedit "$file"
Das funzt. Gab's irgendwelche Probleme? :wink: Also was heißt hier "hässlich"? :wink:

_________________
Mit einem Computer kann man Probleme lösen, die man ohne ihn nicht hätte.


Zuletzt geändert von wodim am 04. Mär 2014 21:29, insgesamt 1-mal geändert.

Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 04. Mär 2014 21:18 
Offline

Registriert: 01. Mär 2014 17:29
Beiträge: 17
Wohnort: Gilching
Zitat:
Zitat:
Zitat:
Das ist alles ziemlich häßlich.
Wieso hässlich?
Wenn du die richtige Lösung für dein konkretes Quotingproblem gefunden hast wirst du mir zustimmen.

Janka
Nö. Weißt du, das ist wie mit (u.a.) eben diesem Gerät (auf das meine Pfad- und Dateinamen ja schon hindeuten). :wink:

http://www.elektor.de/forum/foren-ubers ... geStart=11

Das kann man nicht beschreiben, das muss man erlebt haben: Alles "Hässliche" (Mühe, Ärger, ... ) ist vergessen in dem Moment, wo dich so ein Drahtverhau zum ersten Mal mit einer klaren Stimme anspricht.

Seit ein paar Wochen halt u.a. auch eine super Übung, um mich nach der bewährten Methode "learning by doing" in LTSpice 'reinzufummeln. Das ich für mein "richtiges" Projekt auch brauche (gegen das wiederum diese Bastelei immer noch kalter Kaffee ist). Bitte mal informieren!

http://www.politik-sind-wir.de/showthre ... post106357

_________________
Mit einem Computer kann man Probleme lösen, die man ohne ihn nicht hätte.


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 23 Beiträge ]  Gehe zu Seite Vorherige 1 2

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de