R
rgre
Grünschnabel
Hallo,
vielleicht hat jemand eine Idee. Es sollen UNIX-Kommandos aus einer Funktion heraus aufgerufen werden, die Optionen werden mit übergeben. Das Echo schaut ok aus, aber die Ausführung meldet einen Fehler, die gleiche Ausführung im Main-Teil funktioniert einwandfrei, auch z.B. ein cp funktioniert über die Funktion. Ich vermute das Problem bei '*.sh', habe "Variationen" ausprobiert (""), ich komme aber nicht drauf, woran es liegt. ( sed mit -e 's/.../.../' z.B. ergibt ein ähnliches Fehlerbild )
#!/bin/sh
RUN_COMMAND()
{
echo "$v_RunCommand "$@""
echo "Versuch in Funktion"
$v_RunCommand "$@"
}
v_RunCommand=find #Dieser Command soll ausgeführt werden
v_RunCommandParms=". -name '*.sh' -exec chmod +x {} \;"
RUN_COMMAND $v_RunCommandParms
echo "Versuch in Main Funktion"
find . -name '*.sh' -exec chmod +x {} \;
v_RunCommand=cp #Dieser Command soll ausgeführt werden
v_RunCommandParms="a.txt b.txt"
RUN_COMMAND $v_RunCommandParms
Output:
find . -name '*.sh' -exec chmod +x {} \;
Versuch in Funktion
find: missing argument to `-exec' <- ???
Versuch in Main Funktion
cp a.txt b.txt <- ok
Versuch in Funktion <- ok
Danke schon mal für Vorschläge
Servus
vielleicht hat jemand eine Idee. Es sollen UNIX-Kommandos aus einer Funktion heraus aufgerufen werden, die Optionen werden mit übergeben. Das Echo schaut ok aus, aber die Ausführung meldet einen Fehler, die gleiche Ausführung im Main-Teil funktioniert einwandfrei, auch z.B. ein cp funktioniert über die Funktion. Ich vermute das Problem bei '*.sh', habe "Variationen" ausprobiert (""), ich komme aber nicht drauf, woran es liegt. ( sed mit -e 's/.../.../' z.B. ergibt ein ähnliches Fehlerbild )
#!/bin/sh
RUN_COMMAND()
{
echo "$v_RunCommand "$@""
echo "Versuch in Funktion"
$v_RunCommand "$@"
}
v_RunCommand=find #Dieser Command soll ausgeführt werden
v_RunCommandParms=". -name '*.sh' -exec chmod +x {} \;"
RUN_COMMAND $v_RunCommandParms
echo "Versuch in Main Funktion"
find . -name '*.sh' -exec chmod +x {} \;
v_RunCommand=cp #Dieser Command soll ausgeführt werden
v_RunCommandParms="a.txt b.txt"
RUN_COMMAND $v_RunCommandParms
Output:
find . -name '*.sh' -exec chmod +x {} \;
Versuch in Funktion
find: missing argument to `-exec' <- ???
Versuch in Main Funktion
cp a.txt b.txt <- ok
Versuch in Funktion <- ok
Danke schon mal für Vorschläge
Servus