#1 Le 17/02/2017, à 13:06
- elleji
ABANDON - définition de variable étendue
bonjour,
pouvez vous m'expliquer ?
genre arrow dans : read -sn 3 arrow; case ${arrow:2} in ...
Dernière modification par elleji (Le 19/02/2017, à 14:01)
celui qui ne cherche qu'à s'occuper et c'est tout ce qu'il a trouvé ...
Hors ligne
#2 Le 17/02/2017, à 13:15
- Nuliel
Re : ABANDON - définition de variable étendue
Je sais pas trop ce que tu demandes, mais je vais expliquer
case, ça sert de ne pas avoir de if then else en cascade. Ces pseudo codes sont équivalents:
read -sn 3 arrow
if arrow=1
then
...
else
if arrow=2
then
...
else
if arrow=3
then
...
et
read -sn 3 arrow
case arrow=1
...
case arrow=2
...
case arrow=3
...
La deuxième version est quand même plus lisible. Donc je te conseille d'utiliser case dans le cas où tu testes si une variable vaut 1, 2 ,3 ... jusqu'à un certain n (ici c'est juste 1 2 3)
Sinon, variable étendue, tu veux peut être parler d'énumération. Mais il n'y en a pas dans ce que tu donnes.
Hors ligne
#3 Le 17/02/2017, à 13:49
- elleji
Re : ABANDON - définition de variable étendue
ce qui m'interpelle c'est le ':2' dans case ${arrow:2} !
j'ai dit variable étendue mais je sais pas si tel est son nom !
celui qui ne cherche qu'à s'occuper et c'est tout ce qu'il a trouvé ...
Hors ligne
#4 Le 17/02/2017, à 13:50
- Watael
Re : ABANDON - définition de variable étendue
je ne peux pas dire ce que je pense parce qu'on est en public.
je t'ai déjà expliqué, et donné les pistes pour comprendre de quoi il s'agit !
d'autres intervenants t'ont donné l'adresse de l'Advanced Bash Scripting guide.
tu dois le lire ABSOLUMENT.
arrow est le nom arbitraire d'une variable, j'aurais pu l'appeler tDbiloukoi.
arrête de poser des questions sans avoir fait de recherche et/ou proposer ta solution.
arrête d'ouvrir des discussions différentes à propos d'un même sujet.
Dernière modification par Watael (Le 17/02/2017, à 13:52)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 17/02/2017, à 14:19
- elleji
Re : ABANDON - définition de variable étendue
et d'ou croyez vous que je sort le terme variable ETENDU ??
il ya bien un mot qui me vient à l'esprit mais on est en public !
Dernière modification par elleji (Le 17/02/2017, à 15:56)
celui qui ne cherche qu'à s'occuper et c'est tout ce qu'il a trouvé ...
Hors ligne
#6 Le 17/02/2017, à 15:50
- Watael
Re : ABANDON - définition de variable étendue
pas de la section du man que je t'ai indiquée pour expliquer ce :2 !
noms d'oiseaux, etc.
qu'est-ce que tu ne comprends pas dans :
« La variable var étendue, commençant à la position pos. »
mais bon, ce n'est pas "étendue" qu'il faut lire, mais "développée". (j'ai un doute sur les compétences en shell du traducteur de cette partie).
l'explication du man est plus claire.
Dernière modification par Watael (Le 17/02/2017, à 15:53)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#7 Le 17/02/2017, à 15:55
- elleji
Re : ABANDON - définition de variable étendue
le man me parait ... compliqué alors j'ai pris la bible !:/
Dernière modification par elleji (Le 17/02/2017, à 16:04)
celui qui ne cherche qu'à s'occuper et c'est tout ce qu'il a trouvé ...
Hors ligne
#8 Le 17/02/2017, à 16:02
- Watael
Re : ABANDON - définition de variable étendue
à un moment, tu devras t'y habituer.
il existe une méthode pour le rendre moins austère, en mettant en évidence certaines parties du texte.
ajoute ceci dans ton ~/.bashrc :
export LESS_TERMCAP_mb=$'\E[01;31m' # début de blink
export LESS_TERMCAP_md=$'\E[01;36m' # début de gras
export LESS_TERMCAP_mr=$'\E[01;31m' # début de video inverse
export LESS_TERMCAP_me=$'\E[0m' # fin
export LESS_TERMCAP_so=$'\E[01;44;33m' # début de la ligne d`état
export LESS_TERMCAP_se=$'\E[0m' # fin
export LESS_TERMCAP_us=$'\E[01;35m' # début de souligné
export LESS_TERMCAP_ue=$'\E[0m' # fin
puis, source-le dans ton terminal :
source ~/.bashrc
tes pages man devraient être plus lumineuses.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#9 Le 17/02/2017, à 16:25
- elleji
Re : ABANDON - définition de variable étendue
ce n'est pas la lisibilité mais plutot la complexité !
Dernière modification par elleji (Le 17/02/2017, à 18:08)
celui qui ne cherche qu'à s'occuper et c'est tout ce qu'il a trouvé ...
Hors ligne
#10 Le 17/02/2017, à 18:41
- Hizoka
Re : ABANDON - définition de variable étendue
elleji, je rejoins Watael, il faut que tu testes, que tu apprennes de façon empirique si les explications sont trop compliquées !
C'est ce que j'ai du faire au début...
exemple :
var="Ceci est une variable test"
echo "${var}"
echo "Ma variable est constituée de ${#var} caractères"
echo "Je peux couper ma variable pour n'avoir que les 4 premiers caractères qui sont : ${var:0:4}"
echo "Je peux couper ma variable pour n'avoir que les 6-8 caractères qui sont : ${var:5:3}"
echo "et je peux partir de la fin aussi : ${var:0:-5}"
echo "la variable prout (${prout}) n'existe pas mais je peux lui donner une valeur par défaut : ${prout:-pet}"
Il n'y a qu'une façon de faire ! Il faut tester !
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
En ligne
#11 Le 17/02/2017, à 18:44
- erresse
Re : ABANDON - définition de variable étendue
La variable "${arrow}" est une zone de mémoire contenant un texte de 3 caractères de long (suite à read -sn 3 ...).
Dans toute variable de type texte, il est possible de préciser le rang d'un caractère en indiquant ":n" après le nom de la variable :
"${arrow:2}" indique donc le caractère de rang 2 dans cette variable.
Pour corser un peu la chose, le premier caractère de la variable n'a pas le rang 1 mais le rang 0, donc si ta variable contient un code de 3 caractères tel que "escape [ A", le caractère de rang 2 sera "A", l'escape étant au rang 0 et le [ au rang 1.
Est-ce que cela te semble clair ?
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#12 Le 17/02/2017, à 19:26
- elleji
Re : ABANDON - définition de variable étendue
@hisoka : z'avez raison...
@eresse : pourquoi ne pas prendre plus petit que 3 ?
et si sn=3 alors s=3 et n=3 ?
celui qui ne cherche qu'à s'occuper et c'est tout ce qu'il a trouvé ...
Hors ligne
#13 Le 17/02/2017, à 19:29
- Watael
Re : ABANDON - définition de variable étendue
la chaîne à "capturer" est composée de trois caractères; on ne peut donc pas en lire moins.
et si sn=3 alors s=3 et n=3 ?
RTFM!
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#14 Le 17/02/2017, à 20:19
- elleji
Re : ABANDON - définition de variable étendue
d'accord , mais pourquoi
F ... F ... Y
Dernière modification par elleji (Le 18/02/2017, à 07:16)
celui qui ne cherche qu'à s'occuper et c'est tout ce qu'il a trouvé ...
Hors ligne
#15 Le 17/02/2017, à 20:40
- Watael
Re : ABANDON - définition de variable étendue
plonk.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#16 Le 18/02/2017, à 07:13
- elleji
Re : ABANDON - définition de variable étendue
??
celui qui ne cherche qu'à s'occuper et c'est tout ce qu'il a trouvé ...
Hors ligne
#17 Le 18/02/2017, à 08:40
- elleji
Re : ABANDON - définition de variable étendue
peut etre vous préférez que je change de pseudo à chaque question ... ( je le ferais pas ) ... 'elleji' vous ennuie ... j'essaie de comprendre ... vous en avez marre de me voir ... je comprends , vous savez ...
celui qui ne cherche qu'à s'occuper et c'est tout ce qu'il a trouvé ...
Hors ligne
#18 Le 18/02/2017, à 08:56
- elleji
Re : ABANDON - définition de variable étendue
elleji, je rejoins Watael, il faut que tu testes, que tu apprennes de façon empirique si les explications sont trop compliquées !
C'est ce que j'ai du faire au début...exemple :
var="Ceci est une variable test" echo "${var}" echo "Ma variable est constituée de ${#var} caractères" echo "Je peux couper ma variable pour n'avoir que les 4 premiers caractères qui sont : ${var:0:4}" echo "Je peux couper ma variable pour n'avoir que les 6-8 caractères qui sont : ${var:5:3}" echo "et je peux partir de la fin aussi : ${var:0:-5}" echo "la variable prout (${prout}) n'existe pas mais je peux lui donner une valeur par défaut : ${prout:-pet}"
Il n'y a qu'une façon de faire ! Il faut tester !
il manque le #!/bin/...
bash ou sh c'est égal ?
Dernière modification par elleji (Le 18/02/2017, à 09:14)
celui qui ne cherche qu'à s'occuper et c'est tout ce qu'il a trouvé ...
Hors ligne
#19 Le 18/02/2017, à 09:13
- elleji
Re : ABANDON - définition de variable étendue
bonjour,
echo "et je peux partir de la fin aussi : ${var:0:-5}"
ici on enleve test , var="Ceci est une variable test"
le négatif fait enlever à partir de la fin ( je me doute vous savez )
Dernière modification par elleji (Le 18/02/2017, à 09:42)
celui qui ne cherche qu'à s'occuper et c'est tout ce qu'il a trouvé ...
Hors ligne
#20 Le 18/02/2017, à 12:19
- Hizoka
Re : ABANDON - définition de variable étendue
elleji, il y a des règles sur un forum comme ne pas poster 3 messages à la suite...
De plus, ton dernier message n'a aucun intérêt... car pas de question ni de réponse...
Et je pense qu'il est de bon ton de remercier les gens qui te répondent dans tes différents sujets...
Ce qui m'étonne, c'est que tu es inscrit depuis 2008, soit seulement quelques mois après moi et que tu n'as pas encore intégré le fonctionnement du forum, que tu n'ais pas vu un minimum la console et que tu ne saches pas chercher dans la doc ou le forum...
Je ne sais pas trop quoi penser... ça ressemble à un troll tout ça...
Mais en même temps, tu n'as fait que créer des topics, tu n'as (presque) jamais (essayé) aidé personne, tu n'as posté que dans 3 topics d'autres utilisateurs :
... tu devrais rechercher sur Internet , 'linux' 'tactile' ... , c pas commun ...
Serait-ce l’hôpital qui se moque de la charité ?
merci !
Ah ! ça contredit légèrement ma remarque ci-dessus...
bonjour,
il s'agit de la methode pour la v8.04 et pas la v8.10 !
revient à la distrib. précédente et ça devrait le faire !
...
Ça c'est du conseil
Mais pour conserver un minimum d’honnêteté, tu as proposés 2-3 trucs dans ce topic, ce qui partait plutôt pas mal.
Tout ça pour dire, que même si tu fais ton Calimero (le correcteur me propose Mercalli à la place de Calimero ?!), perso je ne répondrais plus à tes questions si je sens que tu n'as pas cherché un minimum ou que la question est incompréhensible ou incomplète.
Je me doute que ça te fera ni froid ni chaud mais c'est pas grave...
En tout cas bonne continuation dans ton utilisation de GNU/Linux.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
En ligne
#21 Le 18/02/2017, à 12:34
- erresse
Re : ABANDON - définition de variable étendue
Je ne sais pas trop quoi penser... ça ressemble à un troll tout ça...
+1 !
...je ne répondrais plus à tes questions si je sens que tu n'as pas cherché un minimum ou que la question est incompréhensible ou incomplète.
+1 encore !
Et tu risques fort de ne plus avoir personne pour t'aider lorsque tu en auras vraiment besoin, c'est bien dommage !!!
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#22 Le 18/02/2017, à 12:55
- elleji
Re : ABANDON - définition de variable étendue
..j'aime pas me plaindre
celui qui ne cherche qu'à s'occuper et c'est tout ce qu'il a trouvé ...
Hors ligne
#23 Le 18/02/2017, à 13:23
- Rufus T. Firefly
Re : ABANDON - définition de variable étendue
Tu donnes l'impression de vouloir apprendre à nager en te jetant au milieu du lac, et d'appeler à l'aide parce que tu commences immédiatement à te noyer... Mais même Johnny Weissmuler (Tarzan) appris là où il avait pied...
La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme
Hors ligne
#24 Le 18/02/2017, à 13:34
- elleji
Re : ABANDON - définition de variable étendue
tarzan ...
Dernière modification par elleji (Le 18/02/2017, à 13:37)
celui qui ne cherche qu'à s'occuper et c'est tout ce qu'il a trouvé ...
Hors ligne