Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
chu-i
- Beiträge: 157
- Registriert: 10.11.2005 23:29:01
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Berlin
Beitrag
von chu-i » 29.08.2006 11:19:33
Hi@all
könnt ihr mir bitte den Unterschied zwischen den $(BEFEHL) und `BEFEHL` erklären?
Der Befehl mit $(...) und diesem Ergebnis sowie ...
Code: Alles auswählen
test="$(echo "Hallo Welt" | sed 's/\(Welt\)/\\\\033\[40;33m\1\\\\033\[40;37m/g')" && printf "$test\n"
Hallo \033[40;33mWelt\033[40;37m
der Befehl mit `...` und anderem Ergebnis.
Code: Alles auswählen
test="`echo "Hallo Welt" | sed 's/\(Welt\)/\\\\033\[40;33m\1\\\\033\[40;37m/g'`" && printf "$test\n"
Hallo Welt
Warum denn das?
Zuletzt geändert von
chu-i am 29.08.2006 11:54:21, insgesamt 1-mal geändert.
Thx & cya Chu-i
„Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren.“
Benjamin Franklin (1706-1790†)
-
Joghurt
- Beiträge: 5244
- Registriert: 30.01.2003 15:27:31
- Wohnort: Hamburg
-
Kontaktdaten:
Beitrag
von Joghurt » 29.08.2006 11:31:43
Der Unterschied war auch mir nicht bewusst. Hmmm... Man lernt nie aus
man bash hat geschrieben:When the old-style backquote form of substitution is used, backslash retains it's literal meaning except when followed by $, `, or \. The first backquote not \preceded by a backslash terminates the command sub- stitution. When using the \$(command) form, all characters between the parentheses make up the command; no\ne are treated specially.
-
chu-i
- Beiträge: 157
- Registriert: 10.11.2005 23:29:01
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Berlin
Beitrag
von chu-i » 29.08.2006 11:51:09
Danke für die rasche Antwort.
Auf
man bash bin ich jetzt garnicht gekommen, da die Syntome auch auf einer
ksh auftreten.
Thx & cya Chu-i
„Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren.“
Benjamin Franklin (1706-1790†)