[Linux] Problème d'execution de script "-eq&q

Résolu
Bonjour,

J'ai un progiciel que je dois installer via un script d'installation, simplement il y a des erreures dans le script : il ne reconnait pas la comparateur "-eq".

J'essai de l'installer avec sh ou bash ça revient au même, alors que certains de mes collègues arrivent très bien à l'installer avec la même distribution.

Que manque-t-il ?

Merci

Armand
Configuration: Windows XP
Firefox 2.0.0.2

9 réponses

  1. Modérateur
    Salut,

    Peux-tu afficher le script s'il te plaît et ta version de bash (bash --version) et celle de ta distrib.
    0
    1. Merci de me répondre

      Voici ma version de Bash :

      GNU bash, version 3.00.0(1)-release (i586-suse-linux)
      Copyright (C) 2004 Free Software Foundation, Inc.

      Ma distrib est une 9.2

      Quand à mon script il fait 13000 Lignes :s Donc je suis pas sur que ce soit possible.

      Voilà une des fonctions

      lecho()
      {
      echo "$@" >> $LOGFILE
      [ "${SILENTMODE}" -eq 0 ] && echo "$@"
      }

      Si ça peut t'aider

      Merci

      Armand
      0
  2. Modérateur
    Ok merci,

    Tu peux toujours coller le script sur Cjoint et nous donner le lien.

    Autre chose quelle est l'erreur exacte retournée par bash ?
    0
    1. Contributeur
      Quelle est la première ligne du script ? #!/usr/bin/bash ou quelque chose du genre ?
      0
      1. Non c'est #!/bin/sh

        mais mon collègue y arrive avec le même script dans les même conditions

        Je comprend pas trop...
        0
        1. Modérateur
          Que te renvoie les commandes suivantes :
          readlink /bin/sh && ls -l /bin/sh
          et je réitère ma question précédente : "Quelle est l'erreur exacte retournée par sh ? "..

          Merci ;-)
          1
          1. Contributeur
            Si, dans ton cas, SILENTMODE est indéfini, Il y a erreur de syntaxe, la ligne devenant [ -eq 0 ] && echo "$@"
            0
            1. Voici donc les messages d'erreurs exact :

              ./ar_install: line 7949: dlg_Ask_CDPATH: command not found
              ./ar_install: line 2520: [: -eq: unary operator expected
              ./ar_install: line 2530: [: -eq: unary operator expected
              ./ar_install: line 2540: [: -eq: unary operator expected
              ./ar_install: line 2550: [: -eq: unary operator expected
              ./ar_install: line 229: [: -eq: unary operator expected

              Pour la commande que tu m'as demandé de saisir il me renvie ceci :

              srvsusears:/opt/ars/installArs/arsystem # readlink /bin/sh && ls -l /bin/sh
              bash
              lrwxrwxrwx 1 root root 4 2007-03-15 12:13 /bin/sh -> bash

              Voilà j'espere que c'est ce que tu veux...

              Merci de ton aide ;)

              Armand
              0
              1. Modérateur
                Je te renvoie à ce que t'as dit "dubcek " dans son post #7...

                Pour l'exemple :
                [jp@MDK tmpfs]$ set 1 2 3
                [jp@MDK tmpfs]$ echo "$@"
                1 2 3
                [jp@MDK tmpfs]$ var="0"
                [jp@MDK tmpfs]$ [ ${var} -eq 0 ] && echo $@
                1 2 3
                [jp@MDK tmpfs]$ var=""
                [jp@MDK tmpfs]$ [ ${var} -eq 0 ] && echo $@
                -l: [: -eq: unary operator expected
                [jp@MDK tmpfs]$   
                ;-))
                0
                1. Effectivement ma valeure était nulle.

                  Il s'agit d'une faute de frappe de l'éditeur qui avai, dans son script, orthographié 'suse' de la manière suivante 'slse'

                  J'ai remonté le problème à l'éditeur

                  Merci de votre aide... Maintenant je misère avec ma base Oracle

                  Bonne Soirée

                  Encore Merci

                  Armand
                  0
                  1. Comment on fait pour le mettre en status résolu ?

                    Armand
                    0
                  2. Modérateur
                    @armandÔ racle Ô désespoir... ;-))

                    C'est fait ;-))
                    0