[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 -
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
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
-
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.
;-))-
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
-
-
Ah ok, ben là désolé je ne vois pas du tout ;-((
-
Salut,
il parle de ça#!/usr/bin/perl use strict;use warnings; print "ok\n"; print __LINE__,"\n"; __END__
Résultatroot@debian:~# perl ccm.pl ok 4 root@debian:~#
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Re,
#!/bin/sh TEXT="toto" echo "$LINENO $TEXT" exit 0
-
merci beaucoup a vous tous, ça marche. Nickel. ;-)
Pour info c'est la lettre O et non le chiffre 0 pour la commande $LINENO -
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