jean_luc_picard
12-12-2003, 23:46
hallo leute,
irgendwie ist mir mal wieder was unklar ;) ...
ich habe ein skript geschrieben... darin werden die argumente verarbeitet... naja, am besten mal ein beispiel:
aufrut mit: skript -if "file1 file2 file3"
-if (input-file), im skript wird das argument "file1 file2 file3" in einer variablen gespeichert. dann kann ich ganz einfach mit "for file in $variable; do ...." operationen mit den übergebenen dateien durchführen.
nun soll aber das ganze von einem skript aufgerufen werden, das die argumente selbst erzeugt:
FILES="file1 file2 file3"
makeargs()
{
[ -n "$FILES" ] && echo "-if" "\"$FILES\""
}
echo $skript $(makeargs)
$skript $(makeargs)
durch echo wird der aufruf genauso ausgegeben, wie ich es erwarte, der aufruf funktioniert aber nicht. irgendwie wird "file1 file2 file3" nicht als ein übergabewert gelesen. ich bekomme dann immer die meldung "unerwartete option file2".
wieso?
gruss picard
irgendwie ist mir mal wieder was unklar ;) ...
ich habe ein skript geschrieben... darin werden die argumente verarbeitet... naja, am besten mal ein beispiel:
aufrut mit: skript -if "file1 file2 file3"
-if (input-file), im skript wird das argument "file1 file2 file3" in einer variablen gespeichert. dann kann ich ganz einfach mit "for file in $variable; do ...." operationen mit den übergebenen dateien durchführen.
nun soll aber das ganze von einem skript aufgerufen werden, das die argumente selbst erzeugt:
FILES="file1 file2 file3"
makeargs()
{
[ -n "$FILES" ] && echo "-if" "\"$FILES\""
}
echo $skript $(makeargs)
$skript $(makeargs)
durch echo wird der aufruf genauso ausgegeben, wie ich es erwarte, der aufruf funktioniert aber nicht. irgendwie wird "file1 file2 file3" nicht als ein übergabewert gelesen. ich bekomme dann immer die meldung "unerwartete option file2".
wieso?
gruss picard