wie kann ich - escapen?
wie kann ich - escapen?
hi!
ich habe eine datei mit dem Namen: -file1.dat
(also mit dem minuszeichen)
cp -file1.dat file1.dat
funktioniert nicht, was muss ich ändern, dass das funktioniert?
danke un grüße
ich habe eine datei mit dem Namen: -file1.dat
(also mit dem minuszeichen)
cp -file1.dat file1.dat
funktioniert nicht, was muss ich ändern, dass das funktioniert?
danke un grüße
Hallo xris,
leider bin ich jetzt nicht an einem Linuxrechner, aus dem Kopf würde ich sagen:
...spätestens heute abend kann ich genauer nachsehen
Gruß fuzzy
leider bin ich jetzt nicht an einem Linuxrechner, aus dem Kopf würde ich sagen:
Code: Alles auswählen
cp -- -file1.dat file1.dat
Gruß fuzzy
- KBDCALLS
- Moderator
- Beiträge: 22447
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Das einzelne - bedeutet das ist ein Parameter. Und nur das doppelte -- bedeutet hier sind die Parameter zu Ende. Alles was danach kommt zählt nicht mehr dazu.
Zuletzt geändert von KBDCALLS am 09.08.2005 21:53:17, insgesamt 1-mal geändert.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Die können das ...codi hat geschrieben:hi, kann jemand erklären worum es geht? was ist mir escapen gemeint?
Alles klarhttp://www.fossilverlag.de/lexikon/current/node1143.html hat geschrieben: Escapen
Kodieren von unerlaubten Zeichen mittels eines reservierten Steuerzeichens (ËscapeZeichen). Solche Verfahren werden z.B. von Gateways bei der Konvertierung von Adressen oder von Übertragungsprotokollen zur Übertragung von Zeichen verwendet, die in der darunterliegenden Übertragungsebene nicht zulässig sind. Beim Empfänger müssen ËscapeZeichen erkannt und die Daten wieder in den ursprünglichen Zustand zurückverwandelt werden. Dadurch erhöht sich sowohl der Aufwand auf Empfänger- wie Senderseite, als auch das zu übertragende Datenvolumen.
Gruß
gms
- KBDCALLS
- Moderator
- Beiträge: 22447
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Um mal an einem Beispiel zu verdeutlichen
Nehmen wir mal an du willst ein Verzeichnis anlegen
Du schreibst Geht natürlich nicht. Es wird nur das Verzeichnis romeo angelegt und julia wir mit einem quitiert. Also müssen wirs escapen und das sind gleich drei Zeichen. Und dafür ist der
backslash \ vorgesehen. Also müssen mir folgendes eingeben damits klappt.
Nehmen wir mal an du willst ein Verzeichnis
Code: Alles auswählen
romeo & julia
Du schreibst
Code: Alles auswählen
mkdir romeo & julia
Code: Alles auswählen
bash: julia: command not found
backslash \ vorgesehen. Also müssen mir folgendes eingeben damits klappt.
Code: Alles auswählen
mkdir romeo\ \& \julia
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Achso, und in dem Beispiel ging es halt darum das cp versucht das - als Parameter zu interpretieren. Dann is escapen in diesem Zusammenhang also, der Bash daran zu hindern, ungewollt Text oder Sonderzeichen als Steuerzeichen zu interpretieren. Also mit / die Ausführung des nächsten oder mit ' ' der eingeschlossenen Zeichen zu unterdrücken. Oder wie hier mit -- die Eingabe von Parametern abzuschließen.
Alles Paletti, besten Dank! Wieder was gelernt
Gruß
Codi
Alles Paletti, besten Dank! Wieder was gelernt
Gruß
Codi
Code: Alles auswählen
romeo\ \&\ julia
Re: wie kann ich - escapen?
versuch's mal so:xris hat geschrieben:hi!
cp -file1.dat file1.dat
funktioniert nicht, was muss ich ändern, dass das funktioniert?
danke un grüße
cp "\-file1.dat" "\file1.dat"
Re: wie kann ich - escapen?
was soll das bringen ?panflute hat geschrieben: versuch's mal so:
cp "\-file1.dat" "\file1.dat"
Code: Alles auswählen
root@gms1:~# cp "\-file1.dat" "\file1.dat"
cp: Aufruf von stat für ,,\\-file1.dat" nicht möglich: Datei oder Verzeichnis nicht gefunden
Hmm, eher dass das "-" das direkt darauf folgende als Parameter auffasst, also dass einige potentiell mögliche Zeichen aus "file1.dat" als Parameter angesehen werden, das sagt ja letztlich auch die Fehlermeldung, die man erhält:codi hat geschrieben:Achso, und in dem Beispiel ging es halt darum das cp versucht das - als Parameter zu interpretieren.
Code: Alles auswählen
cp -file1.dat file1.dat
cp: Ungültige Option -- e
„cp --help“ gibt weitere Informationen.
...eben bin ich über folgendes "gestolpert".
Dieses für "cp" nutzen
Gruß fuzzy
Code: Alles auswählen
fuzzy@sid:/tmp$ rm -file.dat
rm: invalid option -- l
Try `rm --help' for more information.
fuzzy@sid:/tmp$ rm --help
[...]
To remove a file whose name starts with a `-', for example `-foo',
use one of these commands:
rm -- -foo
rm ./-foo
[...]
Code: Alles auswählen
fuzzy@sid:/tmp$ cp -- -file.dat file01.dat
fuzzy@sid:/tmp$ cp ./-file.dat file02.dat
fuzzy@sid:/tmp$ ls
file01.dat file02.dat -file.dat