BASHSCRIPT: "|" (Pipe) in Befehlszeile einfügen (SOLVED)

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
LessWire
Beiträge: 558
Registriert: 21.11.2004 04:36:04
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Bavaria

BASHSCRIPT: "|" (Pipe) in Befehlszeile einfügen (SOLVED)

Beitrag von LessWire » 27.07.2012 17:02:57

Hallo zusammen,

zur vereinfachten Darstellung meines Problems folgendes Beispiel:

Code: Alles auswählen

 CMD="dir"; ${CMD}
Kein Problem, Verzeichnisinhalt wird ausgegeben. Im Skript soll nun dieses Kommando um eine Pipe erweitert werden, also:

Code: Alles auswählen

CMD="dir"
# Pipe einbauen für Ausgabe mit "less"
CMD=$CMD" | less"
echo ${CMD}    # Ausgabe von "dir | less", also auch korrekt

${CMD} 

Ergebnis:
dir: Zugriff auf | nicht möglich: Datei oder Verzeichnis nicht gefunden
dir: Zugriff auf less nicht möglich: Datei oder Verzeichnis nicht gefunden
Wie kann ich erreichen, daß das Pipezeichen auch als solches interpretiert wird ?

Gruß, LW
Zuletzt geändert von LessWire am 27.07.2012 17:19:49, insgesamt 1-mal geändert.
at ~ now.

Benutzeravatar
FANA
Beiträge: 482
Registriert: 30.03.2005 17:50:55

Re: BASHSCRIPT: "|" (Pipe) in Befehlszeile einfügen

Beitrag von FANA » 27.07.2012 17:13:46

Code: Alles auswählen

eval ${CMD} 

Benutzeravatar
LessWire
Beiträge: 558
Registriert: 21.11.2004 04:36:04
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Bavaria

Re: BASHSCRIPT: "|" (Pipe) in Befehlszeile einfügen

Beitrag von LessWire » 27.07.2012 17:18:59

... da hätte ich eigentlich selber draufkommen sollen :(

FANA, besten Dank !

Gruß, LW
at ~ now.

Antworten