Anfängerfrage zu Bash Script Fehlermeldung

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Payne_of_Death
Beiträge: 484
Registriert: 16.05.2004 20:21:30
Kontaktdaten:

Anfängerfrage zu Bash Script Fehlermeldung

Beitrag von Payne_of_Death » 14.07.2013 19:26:04

Hallo zusammen,

versuche mich gerade an einem rekursiven Verzeichnis Listing,
leider bricht das Script bereits am Anfang ab mit einer seltsamen Fehlermeldung

Code: Alles auswählen

#!/bin/bash

listing=stuff

fetchAllFiles(){
        for dir in $1/* ; do
                if test -d "$dir"
                then
                        tiefe=$(( $2+1 ))
                        fetchAllFiles $dir $tiefe
                else
                        echo $dir
                fi
        done
}

fetchAllFiles $listing 0
Fehlermeldung:
moveAndSplit.sh: 9: moveAndSplit.sh: arithmetic expression: expecting EOF: " vs.+1 "

Kann mir Jemand bitte erklären wo hier der Wurm drin ist bitte ;-)

Danke

Gruss

Chris
Das System was mich zu Fall bringt muss erst mal geboren werden.

Benutzeravatar
4A4B
Beiträge: 962
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: Anfängerfrage zu Bash Script Fehlermeldung

Beitrag von 4A4B » 14.07.2013 20:00:46

Mit welchen Optionen hast du das Script denn aufgerufen? Die zweite Option sollte ein Integer sein, aber anscheinend kommt beim Script ein "vs." an

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Anfängerfrage zu Bash Script Fehlermeldung

Beitrag von rendegast » 14.07.2013 21:41:19

....
fetchAllFiles $dir $tiefe
tiefe=$(( $2+1 ))
.....
moveAndSplit.sh: 9: moveAndSplit.sh: arithmetic expression: expecting EOF: " vs.+1 "
Ein gefundener Eintrag hat Leerstellen im Namen.
Da nicht gequotet wurde, wird ein Teil des Namens als $2 an die Funktion übergeben.

Also

Code: Alles auswählen

fetchAllFiles "$dir" $tiefe
...
                        echo "$dir"
...
fetchAllFiles "$listing" 0

Code: Alles auswählen

listing="stuff"
läßt sich in einem SyntaxHighlight-Editor meist schöner lesen.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
Payne_of_Death
Beiträge: 484
Registriert: 16.05.2004 20:21:30
Kontaktdaten:

Re: Anfängerfrage zu Bash Script Fehlermeldung

Beitrag von Payne_of_Death » 14.07.2013 23:25:45

Tausend Dank rendegast,

das war es, darauf wäre ich so schnell nicht gekommen :wink:
Das System was mich zu Fall bringt muss erst mal geboren werden.

Antworten