Dokumentation zu: glob(L)

HR Image


FUNKTION:
	varargs string *glob(string cmdline, int no_normalize)

IMPLEMENTIERT:
	/std/shells/filesys/filesys.c

ARGUMENTE:
	cmdline:      das zu parsende Kommando
	no_normalize: keine Filenamen erzeugen wenn gesetzt

BESCHREIBUNG:
	Mit glob() kann man die Parameter eines Kommandos aufbereiten.
	Das Kommando wird in seine 'Wortstuecke' zerlegt (wobei
	'"' zusammengehoerige Stuecke zusammenschliessen koennen) und
	ausgewertet als:

	  - Filenamen Parameter
	  - Schalter Parameter

	Das Magierkommando 'ls -l ~/bla*' wird dabei also zerlegt in
	den Schalter "-l" und die Datei "/players/fiona/blah".
	Moechte man das Auswerten der Filenamen verhindern, so kann
	man das no_normalize-Flag setzen.

	Die Schalter kann man mit GetOpt() weiter auswerten.

	Das Verhalten ist ganz analog zu der Auswertung, die bei einer
	normalen (Unix-) Shell passiert. (Es sind jedoch keine
	Singlequotes '\'' zugelassen.)

RÜCKGABEWERT:
	Ein Array aus Strings, eins fuer jedes Wortstueck.

BEMERKUNG:
	Wenn Normalisierung der Filenamen gewuenscht ist, muss das
	Objekt QueryProp(P_CURRENTDIR) 'koennen'. Oftmals nutzt man
	dies indem man magier->glob() verwendet. Ererbt man glob() so
	kann man ggf nur no_normalize globben.

BEISPIEL:
	filesys->glob("-ds \"help \\\"blah*\"", 1)
	Result: ({"-ds","help \\\"blah*"})

	Das Ganze ist wegen der in Strings erforderlichen Escapes etwas
	undurchsichtig. Ausgegeben sehen die Strings so aus:
	'-ds "help \"blah*"'
	({'-ds', 'help \"blah*'})

	Man kann also innerhalb mit '"' geschuetzter Bereiche durchaus
	auch '"' haben, wenn man sie mittels '\' schuetzt.

SIEHE AUCH:
	GetOpt(L), P_CURRENTDIR


Start » Magierhandbuch » Docu » Lfun » Glob Letzte Generierung: 25.04.2021, 01:58
Email an: mud@wl.mud.de
Valid HTML 4.01!