Ich versuche gerade ein Funktion zu schreiben, die ich in einem anderen Script includen kann, damit ich dann ein Array als Parameter übergeben kann. Allerdings bringe ich es nicht fertig dass er dieses Array als solches handhabt. Kann mir jemand sagen was ich falsch mache?
Das Hauptscript sieht wie folgt aus:
. ./modules/check_files.sh VAR=("/tmp/test" "/tmp/test2") ifExist $VAR[@]
Die check_files.sh sieht wie folgt aus:
function ifExist() { declare -a DIRS=("${!1}") RC=0 for i in "${DIRS[@]}" do if [ -f $i ] then RC=1 fi done return $RC }
Ich habe bereits verschiedene Schreibweisen für das Array ausprobiert, aber nichts klappt so wie es soll. Ich will lediglich im Hauptscript ein Array erstellen können, in dem ich Dateien angebe die überprüft werden sollen. Dieses Array soll an die Funktion übergeben werden, die den Return Code auf 1 setzt, sollte eine der Dateien existieren.
Der Loop selber scheint sauber zu sein, wenn ich das Array in der Funktion selber setze, dann loopt er schön durch. Das Problem liegt also bei der Übergabe des Parameters.
Vielen Dank schonmal
Erte
Dieser Beitrag wurde von Erte bearbeitet: 12. April 2012 - 09:56