• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

befehl (find) liefert im script ein falsches ergebnis

linOS

Member
hi

ich versuch mich zur zeit im bashscripte schreiben. jetzt habe ich ein problem das ich nicht verstehe:

wenn ich
find /mnt/backup/KDar/ *Mail*
als befehl selbst ausführe, liefert er mir das korrekte ergebnis zurück, das es 2 dateien gibt. genau der gleiche befehl per script ausgeführt leifert mir als ergebnis 1 zurück, es soll keine datei geben.

?? warum

ich will ja nur wissen welche rückmeldungen find ausspuckt =) gibt es irgenwo eine liste mit rückmeldungen? ich suche eine möglichkeit einen dateinamen mit der höchsten nummer zu suchen (mail-1, mail-2, mail-3 zb.). ansonsten versuche ich es mit einer schleife.

kann ich in schlei... *grübel .. 1000 fragen =) .. ich brauch ne referenz .. gibt es die?? danke ;)
 

oc2pus

Ultimate Guru
dir kann geholfen werden:

Advanced Bash-Scripting Guide
An in-depth exploration of the art of shell scripting

http://www.tldp.org/LDP/abs/html/
 
OP
L

linOS

Member
boah, das ja englisch. my englisch is not so guut =) .. aber es hilft ;-)

der fehler mit find ist auch gefunden. lag daran das ich zuerst mit cd /.../ ins verzeichnis mustte. zwar hatte ich das schon probiert mit selben "erfolg", heute morgen aber ging es. naja, bin krank, wer weiß was ich da eingetippt habe =)
 
OP
L

linOS

Member
okok, da fehlen die then. dafür ein neuer ;-)

zeile
if [ $name == HOME ]; then

fehler
./bupc-usrhome.sh: line 17: [: ==: unary operator expected

?? warum. == ist doch ok.
 
OP
L

linOS

Member
also, ich muss das alles nochmal revidieren. ich habe es wie flgt umgeschreiben:

if [ $dir_quelle == .kde ]; then
archiv_name=KDE-$datum
elif [ $dir_quelle == HOME ]; then
archiv_name=HOME-$datum
else
archiv_name=$dir_quelle-$datum
fi

läuft, solange dir_quelle einen wert enthält. ist es leer bleibt der fehler
 
Oben