[sh] Numéro de la ligne en cours d'exécution

Résolu
abdelhdi -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,

Je travaille avec des batchs Unix [ksh, sh]. Je voudrais récupérer le numéro de la ligne en cours d'exécution afin de pourvoir l'imprimer sur la sortie standard.
Comme en C++, avec la commande __LINE__.

Merci par avance pour vos réponses

Abdelhdi
Configuration: Windows XP
Internet Explorer 6.0

7 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Il faudrait voir déjà les outils employés dans tes scripts (style awk ou autres) qui sont capables d'afficher le numéro des lignes traitées, sinon voir du côté des utilitaires comme "cat -n" ou "nl" qui numérotent les fichiers lus en entrée et ensuite de récupérer le numéro de ligne avec les outils appropriés.

    ;-))
    0
    1. abdelhdi
       
      Merci par ta réponse.

      Je vais essayer de m'expliquer. J'ai un script.sh par exemple. Lorsque je fais echo , je voudrais avoir le numéro de la ligne où est situé le echo.

      exemple:
      #!/bin/sh
      TEXT="toto"
      echo "$TEXT"
      exit 0

      Je voudrais afficher en plus du texte de la variable $TEXT, la ligne qui a executé le echo soit ici la ligne 3
      0
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Ah ok, ben là désolé je ne vois pas du tout ;-((
    0
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    il parle de ça
    #!/usr/bin/perl
    use strict;use warnings;
    print "ok\n";
    print __LINE__,"\n";
    __END__
    Résultat
    root@debian:~# perl ccm.pl
    ok
    4
    root@debian:~#
    

    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Oui j'avais compris, mais en sh ou ksh, quoi que lui il veut le numéro de la ligne qui lance la commande...
      0
  4. abdelhdi
     
    Oui c'est bien ca que je veux, mais pas en perl en sh ou ksh.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,
    #!/bin/sh
    TEXT="toto"
    echo "$LINENO $TEXT"
    exit 0
    
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      T'es le meilleur, merci ;-))
      0
      1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Mais, non, seulement têtu ;-))
        0
      2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898 > lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
         
        C'est pas un truc de perlien ça , ;-\

        ;-))
        0
      3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
         
        L'orgueil, la paresse et l'impatience ;-))
        0
  7. abdelhdi
     
    merci beaucoup a vous tous, ça marche. Nickel. ;-)

    Pour info c'est la lettre O et non le chiffre 0 pour la commande $LINENO
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      c'était un test pour voir si tu suis ;-))
      0
  8. abdelhdi
     
    si on utilise cette commande dans une fonction alors le numéro de ligne affiché correspond au nombre de ligne depuis le début de la fonction et non du fichier
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Salut,

      c'est à lui d'adapter ;-)
      0