Shell-Skript stürzt ab

Hallo

ich führe folgenden Befehl aus

./Anwendung Par1 Par2

und es funktioniert. Dabei ist Par1 ein Dateiname. Wenn ich mir nun ein Skript schreibe was mit find" diese Datei findet sieht das dann so aus:

find -iname ‚Par1‘ -exec Anwendung {} Par 2 ;

allerdings bricht das Skript ab mit:

find: ./Anwendung terminated by signal 11

also Segmentation fault, der ist aber vorhher nicht aufgetreten.

Woran kann das liegen?

Hallo,

find -iname ‚Par1‘ -exec Anwendung {} Par 2 ;

allerdings bricht das Skript ab mit:

find: ./Anwendung terminated by signal 11

In so einem Fall empfiehlt es sich, das Skript zunächst mit

 find -iname 'Par1' -exec echo Anwendung {} Par 2 \;

zu testen. Am besten nicht gleich im Skript, sondern im Terminalfenster.

Möglicherweise enthält der Pfadname Leerzeichen, oder aber find findet nix.

Ich mache so was sicherheitshalber so:

 find ~ -iname 'Par1' | while read FILE
 do
 Anwendung {} Par 2
 done

Gruß
Rainer

In so einem Fall empfiehlt es sich, das Skript zunächst mit

find -iname ‚Par1‘ -exec echo Anwendung {} Par 2 ;

zu testen. Am besten nicht gleich im Skript, sondern im
Terminalfenster.

Super, danke. Das hat mir geholfen zu sehen, dass Par1 als ./Par1 übernommen wurde. Kann ich das unterbinden? Ansonsten änder ich das im Quelltext…

Das hat mir geholfen zu sehen, dass Par1 als ./Par1 übernommen wurde. Kann ich das unterbinden?

So z.B:

 find -iname 'Par1' | while read FILE;do echo ${FILE:2};done

Aber besser wäre es natürlich schon, wenn das Programm auch mit ./Par1 zurecht kommen würde.

Okay super so funktionierts, danke vielmals