Stefanie: Zum IFS

Beitrag lesen

Ich korrigiere mich; IFS könntest Du auch ganz gut nutzen.

Es gibt die interne Variable IFS, die diese Trennzeichen ansteuert aber dann bekomme ich diese Trennzeichen als Teil meiner Zeichenkette. D.h., wenn ich IFS="," definiere, so bekomme ich "== LOG==,".

Nein, der Trick dabei ist ja gerade nicht, das IFS statt des Leerzeichens in die Strings selber einzufügen, sondern die Leerzeichen an der Stelle durch das geänderte IFS zu ersetzen, in denen sie als Trenner zwischen den einzelnen Paramtern fungieren. Die übergebenen Strings bleiben wie sie sind, mit Leerzeichen, aber für die verarbeitende Funktion wirken sie nicht mehr als Trenner.

So oder ähnlich:

parameter1="x y z"
parameter2="bla"
parameter3="blub"

ifsBackup=$IFS
IFS=$'\t'

VerarbeitendeFunktion $parameter1$IFS$parameter2$IFS$parameter3

IFS=$ifsBackup