Contenu | Rechercher | Menus

Annonce

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.

À propos de l'équipe du forum.

#1 Le 20/09/2019, à 03:18

Need_Help_Pls

[Résolu] les variables simple

Bonjour,
Je cherche simplement a savoir comment et surtout où sont stocker les variables simples (non d’environnement) d'un terminal !
(par "variable simple" j’entends celle déclaré comme cela: str=012345)

PS: J'ai oublier une commande qui permet de lister ces variables simples d'une session, si vous la connaissez je suis preneur. tongue

Dernière modification par Need_Help_Pls (Le 20/09/2019, à 09:53)


Je suis sur MacOs... Désolé, mais j'ai pas envie de passer mon temps a configurer des trucs pendant des heur... des jours pour jouer à League of legends :p
... J'ai quand même toujours une petite VM d'Ubuntu sur mon SSD ! :p

Hors ligne

#2 Le 20/09/2019, à 06:52

Postmortem

Re : [Résolu] les variables simple

Salut,

Avec set, tu peux lister les variables... Et les fonctions.

Elles sont certainement initialisées dans les fichiers appelés à l'ouverture d'un shell (.bashrc, .profile etc..)


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#3 Le 20/09/2019, à 07:31

bruno

Re : [Résolu] les variables simple

Bonjour,

Je ne comprends pas la question.
Une variable définie simplement (ma_variable=truc) dans un script a une portée limitée au script.

Toute autre variable qui a une portée globale à la session est une variable d’environnement.
Certaines sont permanentes, comme celles définies par la commande export dans .bashrc ou /etc/profile.d, par exemple. D'autres sont temporaires, comme celles définies dans tes propres script ou directement dans un terminal.

Pour la session courante, on peut voir les variables d'environnement avec :

env

ou toutes les variables et fonctions exportés avec :

export -p

Dernière modification par bruno (Le 20/09/2019, à 09:56)

#4 Le 20/09/2019, à 08:16

Need_Help_Pls

Re : [Résolu] les variables simple

C'était bien set que je cherchais, merci ! big_smile

C'est pas pour un script. tongue
Mais les variables définie simplement (var=12345) en ligne de commandes (pas dans un script) doivent forcement être stocker quelque part ! (juste le temps de la session)
(Si je lance la commande set, j’imagine que la commande doit récupérer ces variables temporaires dans un fichier où elles sont stocker, pour les afficher ensuite)

Dernière modification par Need_Help_Pls (Le 20/09/2019, à 08:25)


Je suis sur MacOs... Désolé, mais j'ai pas envie de passer mon temps a configurer des trucs pendant des heur... des jours pour jouer à League of legends :p
... J'ai quand même toujours une petite VM d'Ubuntu sur mon SSD ! :p

Hors ligne

#5 Le 20/09/2019, à 08:27

bruno

Re : [Résolu] les variables simple

Les variables ne sont pas stockées dans un fichier mais en mémoire.

#6 Le 20/09/2019, à 08:37

Need_Help_Pls

Re : [Résolu] les variables simple

D'accord, comme pour n'importe quelle programme donc ! hmm (J’imagine que c'est plus rapide comme ça, plutôt que de les enregistrer dans un petit fichier pour y accéder)
Mais du coup vous savez comment fait par exemple set pour savoir à quelles emplacements mémoires sont ces variables "de session" ? smile (Est-ce que comme en C par exemple, tout est segmenté ?)

Dernière modification par Need_Help_Pls (Le 20/09/2019, à 08:55)


Je suis sur MacOs... Désolé, mais j'ai pas envie de passer mon temps a configurer des trucs pendant des heur... des jours pour jouer à League of legends :p
... J'ai quand même toujours une petite VM d'Ubuntu sur mon SSD ! :p

Hors ligne

#7 Le 20/09/2019, à 08:57

bruno

Re : [Résolu] les variables simple

Need_Help_Pls a écrit :

Mais du coup vous savez comment fait par exemple set pour savoir à quelles emplacements mémoires sont ces variables "de session" ? smile (Est-ce que comme en C par exemple, tout est segmenté ?)

Il ne se préoccupe pas des « emplacements mémoire » ; il utilise probablement les fonctions de la libc (getenv) pour connaître leurs valeurs.

#8 Le 20/09/2019, à 09:22

Need_Help_Pls

Re : [Résolu] les variables simple

getenv() fonctionne uniquement avec les variables d’environnement.
Si on crée une variable en ligne de commande sans l'export, getenv() renverra NULL si on lui demande de chercher cette variable. (et c'est normal vu qu'elle n’appartient pas aux variables d’environnement)
C'est certainement comme ça que le shell obtiens les valeurs des variables d’environnement, mais pas pour les autres variable. Je me trompe ?

Je cherche a récupérer ces variables créer en ligne de commande dans un programme en C (sans export les variables shell)
Mais je pense pas que ce soit possible. Pensez-vous que c'est possible ? hmm

Dernière modification par Need_Help_Pls (Le 20/09/2019, à 09:44)


Je suis sur MacOs... Désolé, mais j'ai pas envie de passer mon temps a configurer des trucs pendant des heur... des jours pour jouer à League of legends :p
... J'ai quand même toujours une petite VM d'Ubuntu sur mon SSD ! :p

Hors ligne

#9 Le 20/09/2019, à 09:34

Postmortem

Re : [Résolu] les variables simple

Si je ne me trompe pas, ces variables n'étant pas des variables d'environnement, tu ne pourras pas récupérer leur valeur autre part que dans le shell courant, non ??


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#10 Le 20/09/2019, à 09:44

Need_Help_Pls

Re : [Résolu] les variables simple

Si c'est ça !
Je pensais que les variables déclarer en ligne de commande sans export était tout de meme transmise au shell enfant ! Mais pas du tout... Du coup j'ai pas besoin de faire ce que j'ai dit en C !

Du coup, tout est résolu !
Merci encore pour vos réponses, vous m'avez bien aidé ! big_smile

Dernière modification par Need_Help_Pls (Le 20/09/2019, à 09:56)


Je suis sur MacOs... Désolé, mais j'ai pas envie de passer mon temps a configurer des trucs pendant des heur... des jours pour jouer à League of legends :p
... J'ai quand même toujours une petite VM d'Ubuntu sur mon SSD ! :p

Hors ligne