Bonsoir tout le monde,

J'essaye d'executer un programmes qui permet de trouver des programmes dans le PATH.
Seulement, après compilation et execution il me renvoie ceci sur la console:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
ss_trouve_prog_ds_path: file not recognized: File format not recognized
collect2: ld a retourné 1 code d'état d'exécution
voici mon fichier ss_trouve_prog_ds_path :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
 
!/bin/sh
# inpath - Vérifie qu'un programme donné existe en tant que tel,
#        ou se trouve dans la liste de répertoires du PATH.
in_path()
{
  # Etant donnée une commande et le PATH, cherche la commande. Renvoie
  # 0 si elle est trouvée et éxecutable, 1 dans le cas contraire.
  # Attention! Ceci modifie temporairement l'IFS (le séparateur de champs
  # en entrée) mais le remet en place à la fin.
 
cmd=$1  path=$2 retval=1
oldIFS=$IFS   IFS=":"
 
for directory in $path
do
  if [ -x $directory/$cmd ] ; then
    retval=0 # si nous sommes là, nous avons trouvé $cmd dans directory
  fi
done
IFS=$oldIFS
return $retval
}
checkForCmdInPath(){
  var=$1
 
 
  # Expliquons la notion du découpage de variable dans la
  # conditionnelle suivante: ${var#expr} renvoie tout ce qui suit
  # la portion de chaîne correspondant au motif 'expr' dans la
  # valeur de la variable (si le motif est reconnu), et
  # ${var%expr} renvoie tout ce qui ne correspond pas (dans le cas
  # présent, il s'agit du seul premier caractère). On peut encore
  # procéder en Bash en écrivant ${var:0:1} et faire appel à
  # cut: cut -c1
 
if [ "$var" != "" ]
then
  if [ "${var%${var#?}}" = "/" ] then
    if [ ! -x $var ]
    then
      return 1
    fi
    ! in_path $var $PATH ; then
    return 2
  fi
fi
}
 
if [ $# -ne 1 ] ; then
        echo "Synthaxe: $0 commande" >&2 ; exit 1
fi
 
checkForCmdInPath "$1"
 
case $? in
 0 ) echo "$1 trouvé dans le PATH"      ;;
 1 ) echo "$1 pas trouvé ou pas exécutable"     ;;
 2 ) echo "$1 pas trouvé dans le PATH"  ;;
esac
 
exit O
quelqu'un sait-t-il ce que sa veut dire ??

merci