Parameternutzung in Funktionen

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
 
Code:
#!/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
 

Ähnliche Themen

verzeichniss suche funktioniert nicht

Autostart von X mit google-chrome durch systemd

Shellskript - Fehler in Cron

Problem mit HSPA+ Modem Huawei E353 - Installation unmöglich?

Last mit etc/passwd anzeigen lassen

Zurück
Oben