Re: Bash: Pipe-Zeichen werden bei IO/Redirection und Pipen verschluckt
Am Sonntag 26 September 2004 10:48 schrieb Christoph Conrad:
> Hallo,
>
> die Bash (version 2.05b.0(1)-release) verschluckt bei folgenden
> Versuchen manchmal die Pipe-Zeichen. Ich nehme an, das ist korrekt -
> nur, wie umgehe ich es? Kann ich temporär das Pipe-Symbol umdefinieren?
>
> * Versuch 1
> user@~> echo "|" > file
> user@~> cat file
>
>
> * Versuch 2
> user@~> mysql [...query statement...]
> [...]
>
> | Various Artists | Voices Of The Real World |
>
> [...]
>
> * Versuch 3
> user@~> mysql [...query statement...] | uniq
> [...]
> Various Artists Voices Of The Real World
> [...]
>
> * Versuch 4
> user@~> mysql [...query statement...] > file
> user@~> cat file
> [...]
> Various Artists Voices Of The Real World
> [...]
Ich denke mal, das ist normal:
matthias@linux:~$ echo "test | test2"
test | test2
So hast du es ja auch festgestellt.
matthias@linux:~$ echo test | test2
bash: test2: command not found
Logisch, es wird "test" an test2 übergeben, was es aber nicht gibt.
matthias@linux:~$ echo "test | test2" | tr "|" ":"
test : test2
Klappt :-)
Wird also der Pipeinhalt als String übergeben, passiert auch nix mit dem
Pipe-Symbol.
mysql übergibt also offensichtlich nicht als String, ergo:
echo "$(mysql [...query statement...])" > file
Das sollte klappen. (ungestestet)
--
Gruß
MaxX
Hinweis: PMs an diese Adresse werden automatisch vernichtet (Filter
nach /dev/null).
Reply to: