Contenu | Rechercher | Menus

Annonce

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Pour en savoir un peu plus sur l'équipe du forum.

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

#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)


... suis pas un adepte du mode terminal ( le clavier c pas mon ami , en plus il est plus facile de se rappeller des mouv de souris que de longue ligne de commande ) malheureusement le mode graphique est souvent plus lent !

Hors ligne

#2 Le 17/02/2017, à 13:15

Naziel

Re : ABANDON - définition de variable étendue

Je sais pas trop ce que tu demandes, mais je vais expliquer smile
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 !


... suis pas un adepte du mode terminal ( le clavier c pas mon ami , en plus il est plus facile de se rappeller des mouv de souris que de longue ligne de commande ) malheureusement le mode graphique est souvent plus lent !

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. yikes

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)


eval, c'est mal.

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 ??
tongue
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)


... suis pas un adepte du mode terminal ( le clavier c pas mon ami , en plus il est plus facile de se rappeller des mouv de souris que de longue ligne de commande ) malheureusement le mode graphique est souvent plus lent !

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)


eval, c'est mal.

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)


... suis pas un adepte du mode terminal ( le clavier c pas mon ami , en plus il est plus facile de se rappeller des mouv de souris que de longue ligne de commande ) malheureusement le mode graphique est souvent plus lent !

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. wink


eval, c'est mal.

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é !
wink

Dernière modification par elleji (Le 17/02/2017, à 18:08)


... suis pas un adepte du mode terminal ( le clavier c pas mon ami , en plus il est plus facile de se rappeller des mouv de souris que de longue ligne de commande ) malheureusement le mode graphique est souvent plus lent !

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 !

Hors 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 résolu, 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 ?


... suis pas un adepte du mode terminal ( le clavier c pas mon ami , en plus il est plus facile de se rappeller des mouv de souris que de longue ligne de commande ) malheureusement le mode graphique est souvent plus lent !

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!


eval, c'est mal.

Hors ligne

#14 Le 17/02/2017, à 20:19

elleji

Re : ABANDON - définition de variable étendue

d'accord , mais pourquoi
F ... F ... Y
smile

Dernière modification par elleji (Le 18/02/2017, à 07:16)


... suis pas un adepte du mode terminal ( le clavier c pas mon ami , en plus il est plus facile de se rappeller des mouv de souris que de longue ligne de commande ) malheureusement le mode graphique est souvent plus lent !

Hors ligne

#15 Le 17/02/2017, à 20:40

Watael

Re : ABANDON - définition de variable étendue

plonk.


eval, c'est mal.

Hors ligne

#16 Le 18/02/2017, à 07:13

elleji

Re : ABANDON - définition de variable étendue

??


... suis pas un adepte du mode terminal ( le clavier c pas mon ami , en plus il est plus facile de se rappeller des mouv de souris que de longue ligne de commande ) malheureusement le mode graphique est souvent plus lent !

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  ...


... suis pas un adepte du mode terminal ( le clavier c pas mon ami , en plus il est plus facile de se rappeller des mouv de souris que de longue ligne de commande ) malheureusement le mode graphique est souvent plus lent !

Hors ligne

#18 Le 18/02/2017, à 08:56

elleji

Re : ABANDON - définition de variable étendue

Hizoka a écrit :

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)


... suis pas un adepte du mode terminal ( le clavier c pas mon ami , en plus il est plus facile de se rappeller des mouv de souris que de longue ligne de commande ) malheureusement le mode graphique est souvent plus lent !

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)


... suis pas un adepte du mode terminal ( le clavier c pas mon ami , en plus il est plus facile de se rappeller des mouv de souris que de longue ligne de commande ) malheureusement le mode graphique est souvent plus lent !

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 :

elleji a écrit :

... tu devrais rechercher sur Internet , 'linux' 'tactile' ... , c pas commun ...

Serait-ce l’hôpital qui se moque de la charité ?

elleji a écrit :

merci !

Ah ! ça contredit légèrement ma remarque ci-dessus...

elleji a écrit :

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 smile
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.

Hors ligne

#21 Le 18/02/2017, à 12:34

erresse

Re : ABANDON - définition de variable étendue

Hizoka a écrit :

Je ne sais pas trop quoi penser... ça ressemble à un troll tout ça...

+1 !

Hizoka a écrit :

...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 !!!
roll roll roll


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 résolu, 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 sad


... suis pas un adepte du mode terminal ( le clavier c pas mon ami , en plus il est plus facile de se rappeller des mouv de souris que de longue ligne de commande ) malheureusement le mode graphique est souvent plus lent !

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 ... smile

Dernière modification par elleji (Le 18/02/2017, à 13:37)


... suis pas un adepte du mode terminal ( le clavier c pas mon ami , en plus il est plus facile de se rappeller des mouv de souris que de longue ligne de commande ) malheureusement le mode graphique est souvent plus lent !

Hors ligne