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

Résolu/Fermé
abdelhdi - 27 févr. 2008 à 09:54
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 27 févr. 2008 à 17:30
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
A voir également:

7 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
27 févr. 2008 à 11:27
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
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
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
27 févr. 2008 à 14:39
Ah ok, ben là désolé je ne vois pas du tout ;-((
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
27 févr. 2008 à 14:47
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
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
27 févr. 2008 à 14:53
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
Oui c'est bien ca que je veux, mais pas en perl en sh ou ksh.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
27 févr. 2008 à 15:35
Re,
#!/bin/sh
TEXT="toto"
echo "$LINENO $TEXT"
exit 0
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
27 févr. 2008 à 15:54
T'es le meilleur, merci ;-))
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
27 févr. 2008 à 16:17
Mais, non, seulement têtu ;-))
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
27 févr. 2008 à 16:21
C'est pas un truc de perlien ça , ;-\

;-))
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
27 févr. 2008 à 17:29
L'orgueil, la paresse et l'impatience ;-))
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
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
27 févr. 2008 à 17:30
c'était un test pour voir si tu suis ;-))
0
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
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
27 févr. 2008 à 16:15
Salut,

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