Re: Shellscript-Frage

From: Matthias Fechner <idefix(at)fechner.net>
Date: Fri, 6 Dec 2002 23:57:08 +0100

Hallo Oliver,

* Oliver Fromme <olli(at)secnetix.de> [06-12-02 22:08]:
> > Perl würde ich einfach ($foo)=$foo=~s/\s+/\s/g;
>
> Das nennst Du einfach? :-)

Ja, das mache ich jeden Tag :-)
Ups, da war aber ein kleiner Fehler drin:
$foo=~s/\s+/\s/g;

> Die vorletzte Zeile muß heißen:
> FOO=$(echo "$FOO" | tr -s " ")

Ahja, damit geht es.

> In Deiner Zeile würd eeinfach nur eine Stringzuordnung pas-
> sieren (bzw. ein Syntax-Fehler). Mit $() wird dagegen ein
> Shellkommando ausgeführt und die Ausgabe zugewiesen (man
> kann auch Backticks (`) verwenden.)

Ahja, ist doch nicht so schwierig wie ich dachte.
Ist im Gegensatz zu Perl nur sehr ungewohnt.

> set -- $FOO
> FOO="$*"
> echo "$FOO"

Jup das geht wundebar, danke nochmal, verwende das jetzt.

> PS: Vielleicht solltest Du mal in einer ruhigen Minute die
> sh(1) manpage von oben bis unten durchlesen. Und parallel
> dazu in einem zweiten Terminal mit sh-Kommandos herumspie-
> len.

Da Problem ist nur, das ich bis in zwei Wochen keine ruhige Minute
haben werde und ich jetzt schnell ein Problem lösen hab müssen. Danke
nochmal.

> PPS: Wenn Du eine interaktive sh (zum Testen und Spielen)
> mit der Option -E startest (oder bei einer bereits laufen-
> den sh »set -E« eingibst), kannst Du die Cursortasten zum
> Editieren und Scrollen durch die Historie verwenden. Sehr
> hilfreich, das.

Ah, das wusste ich noch gar nicht, ja das hilft ungemein.

-- 
Gruss
Matthias
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 06 Dec 2002 - 23:57:15 CET

search this site