ausrufezeichen in der bash

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
kevin
Beiträge: 325
Registriert: 08.11.2004 00:03:24

ausrufezeichen in der bash

Beitrag von kevin » 07.03.2007 10:40:46

hallo
wenn ich in der bash eine zeile eingebe wo ein ausrufezeichen drin vorkommt
meldet die bash nur noch
bash: !bla event not found
!bla ist das stueck in der bash wo das ausrufezeichen direkt davor steht
setze ich den part in der zeile in " zeichen, veraendert das nichts

wie muss die zeile verwenden damit die bash sie annimmt?

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 07.03.2007 10:46:33

Das Ausrufezeichen muss escaped werden:

Code: Alles auswählen

echo "\!bla\!"
Perl macht Spass.

kevin
Beiträge: 325
Registriert: 08.11.2004 00:03:24

Beitrag von kevin » 07.03.2007 11:03:05

also vor das ausrufezeichen immer ein \ machen?
oke
funktioniert

cool
danke

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 07.03.2007 11:41:33

Das Ausrufezeichen dient in der Bash zum Wiederholen eines Befehls. Drum musst du durch das Escapen das Ausrufezeichen vor der Bash verstecken ;)

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 07.03.2007 11:43:47

Hier noch ein Link, wo aber nur ein paar Beispiele zum Escapen stehen:
http://linuxseiten.kg-it.de/index.php?i ... efehl_echo

Hilft ja vielleicht ;-)
Oh, yeah!

kevin
Beiträge: 325
Registriert: 08.11.2004 00:03:24

Beitrag von kevin » 07.03.2007 13:23:45

wer hat sich das mit dem "escapen".. verstecken vor der bash nur ausgedacht, hehe... coole sache ist das \!

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Beitrag von armin » 07.03.2007 13:33:43

Das Escapen des Ausrufezeichens liefert aber nicht unbedingt ein schönes Ergebnis:

Code: Alles auswählen

$ echo "\!bla\!"
\!bla\!
Ich würde empfehlen, diese in Einfache Hochkomme zu packen:

Code: Alles auswählen

$ echo '!bla!'
!bla!
Zuletzt geändert von armin am 07.03.2007 13:57:27, insgesamt 1-mal geändert.
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 07.03.2007 13:47:13

Ehm, wenn du Singlequotes nimmst, dann musst nicht mehr escapen. Von daher ist das "komische" Ergebnis in der Form absolut korrekt.

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Beitrag von armin » 07.03.2007 13:58:22

Hatte oben ausversehen die falsche Stelle kopiert.
Jetzt sollte es besser aussehen...
Die Escape Zeichen tauchen halt auch im ausgegebenen String auf.
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams

Antworten