#1 Le 20/05/2018, à 13:18
- Brice Jeunieaux
[Résolu] tput: invalid option -- '1' usage: tput [-V] [-S] ...
Bonjour / bonsoir,
ayant à afficher du texte à un certain endroit du terminal, j'utilise la commande tput cup.
Seulement, la coordonnée où positionner le texte en Y est une variable, au préalable déterminée. Cette variable est calculée en lien avec la valeur de la variable de boucle. Ainsi, je souhaite afficher plusieurs lignes qui se ressemblent, au travers d'une boucle. Voici mon code.
#!/bin/bash
clear
for (( b=1 ; b<=15 ; b++ )) do
positionY=$(( $((4+$b )) - $(( 15*1 )) )) ;
tput cup $positionY 5 ; echo test
tput cup $positionY 24 ; echo test
done
echo
L'exécution de ce code me renvoit un grand nombre de fois ce genre de poème :
tput: invalid option -- '1'
usage: tput [-V] [-S] [-T term] capname
Ma question est : à quoi cette erreur est-elle due, comment avoir l'affichage correct de mes lignes ?
Sachant que lorsque la coordonnée Y de la position de mon texte n'est pas un calcul, se peut-il que Bash n'aime pas ma formulation ?
J'ai vraiment absolument besoin de déterminer la coordonnée Y à partir de la variable de boucle, donc je ne sais pas comment faire.
Auriez-vous une solution compatible avec mes besoins. Pourquoi cette erreur ? Merci d'avance pour vos réponses.
Dernière modification par Brice Jeunieaux (Le 20/05/2018, à 14:53)
Hors ligne
#2 Le 20/05/2018, à 13:42
- bruno
Re : [Résolu] tput: invalid option -- '1' usage: tput [-V] [-S] ...
Bonjour,
Je pense que cela vient du fait que ta variable $positionY contient des valeurs négatives : -10,-9,-8…0,1,2,3,4
$ tput cup -10 5
tput: invalid option -- '1'
usage: tput [-V] [-S] [-T term] capname
Par contre :
$ tput cup {-10} 5
envoie bien le curseur 10 ligne plus haut dans le terminal si possible.
#3 Le 20/05/2018, à 14:52
- Brice Jeunieaux
Re : [Résolu] tput: invalid option -- '1' usage: tput [-V] [-S] ...
Bonjour,
Je pense que cela vient du fait que ta variable $positionY contient des valeurs négatives : -10,-9,-8…0,1,2,3,4
$ tput cup -10 5 tput: invalid option -- '1' usage: tput [-V] [-S] [-T term] capname
Par contre :
$ tput cup {-10} 5
envoie bien le curseur 10 ligne plus haut dans le terminal si possible.
Effectivement, dans mon cas, si je ne corrige pas cela, alors pour beaucoup de valeurs que prendra la variable de boucle, j'aurais $positionY < 0.
Merci beaucoup sur l'éclaircissement (sujet résolu).
Hors ligne