Problème shell script

Bonjour,

J'ai un script shell de setup d'un programme qui ne fonctionne pas.
J'ai remarqué que le script commencé par #!/bin/sh et la ligne qui ne s'execute pas est :
if test -e
J'ai regardé le manuel sur test et j'ai vu que l'argument -e n'était pas valide pour le bourn shell. Quel est donc l'argument que je dois utiliser ?
if test -f ??
Merci.

5 réponses

  1. Modérateur
    Salut,

    Et derrière le "test -e" il y a quoi ? Rien ? ou un nom de fichier ?

    Pour la petite histoire, la commande "test" ou "[...]" ou encore "[ [...]]" (sans l'espace entre les 2 crochets ouvrants, ici c'est à cause de la mise en page du site), est très bien référencée dans le man sh !!!

    Tu es sûr que ton "/bin/sh" est bien le Bourne shell et non pas un lien symbolique vers un autre "shell" ?
    Par exemple chez moi :
    $ ls -l /bin/sh
    lrwxrwxrwx  1 root root 4 déc 15  2005 /bin/sh -> bash*
    ;-))
    1. Salut,

      Mon script commence par #!/bin/sh, il sera donc exécuter avec le bourn shell. J'ai recherché man test et j'ai vu que l'option -e, n'était pas valide pour le bourn shell, je pense donc que c'est sa qui fait planté le script. Je voulais donc savoir quel était l'équivalent à if test -e pour le bourn shell.
      1. salut, tu cherche a faire quoi.?
        tu as bien lu la man if ?
        ou man bash
        les syntaxe doivent être respecté a l'espace près.