[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: