#1 Le 31/12/2020, à 18:14
- Montesquat
[Résolu] Problème d’extraction de chaîne
Bonjour
Avant d'être en Ubuntu 20.04 LTS, j'avais un script qui fonctionnait parfaitement. Il était destiné, à l'ouverture de session, d'afficher si la mise en veille était active ou pas et de paramétrer cette mise en veuille comme active ou pas.
Or avec la cette nouvelle version, le script fonctionne toujours mais l'affichage de l'état de la mise en veille ne s'affiche plus.
J'ai compris pourquoi mais n'arrive pas à résoudre mon problème.
Le script comprend la définition de cette variable :
Var="$(gsettings list-recursively | grep -i "sleep-inactive-ac-type")"
qui me retourne cette réponse :
com.canonical.unity.settings-daemon.plugins.power sleep-inactive-ac-type 'suspend' org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'suspend'
Le problème provient du fait que j'ai deux fois le mot-clef 'suspend', le deuxième prenant la valeur 'suspend' ou 'nothing' selon les cas.
Et je n'arrive pas à extraire la deuxième variable d'environnement qui commence par org, soit org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'suspend'
J'ai essayé, avec mes recherches, plein de choses et notamment de supprimer cette dernière variable qui me donnerait la position du dernier caractère de la première variable et donc la position-1 où commence la seconde.
Mais voilà je n'y arrive pas. Deux essais parmi d'autres.
debut_chaine="${var%%${"org.gnome"}*}"
debut_chaine="${var%%org.gnome*}"
Nota: même si d'autres méthodes de script existent, il s'avère qu'étant novice sous Ubuntu je cherche à en changer le minimum et de toute manière j'aimerais bien réussir l'écriture de cette extraction de chaîne qui peut toujours servir.
Merci pour vos indications.
Dernière modification par Montesquat (Le 03/01/2021, à 15:38)
Hors ligne
#2 Le 31/12/2020, à 21:01
- MicP
Re : [Résolu] Problème d’extraction de chaîne
Bonjour
Je n'ai peut-être pas bien compris le but,
mais s'il s'agit de récupérer la valeur de la variable,
autant faire directement :
gsettings get org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type
ou alors,
si la ligne que tu veux extraire
devrait débuter par org.gnome et dans laquelle il y aurait aussi sleep-inactive-ac-type
et que c'est toute la ligne que tu veux voir s'afficher :
while read; do [[ $REPLY =~ ^org.gnome.*sleep-inactive-ac-type ]] && echo $REPLY; done <<< $(gsettings list-recursively)
Dernière modification par MicP (Le 01/01/2021, à 14:11)
Hors ligne
#3 Le 01/01/2021, à 11:47
- Montesquat
Re : [Résolu] Problème d’extraction de chaîne
Merci
Je regarde cela dès que je peux et fais des essais. Je te tiens au courant ensuite.
A+
Hors ligne
#4 Le 01/01/2021, à 11:58
- diesel
Re : [Résolu] Problème d’extraction de chaîne
Pourquoi tu ne fais pas :
Var="$(gsettings list-recursively | grep -i "org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type")"
Amicalement.
Jean-Marie
Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.
Hors ligne
#5 Le 03/01/2021, à 15:20
- Montesquat
Re : [Résolu] Problème d’extraction de chaîne
Bonjour
Je n'avais pas vu ton dernier message et c'est exactement ce que j'ai fait.
Mon script refonctionne parfaitement et réaffiche la valeur de la variable d'environnement.
Merci. Je n'ai plus qu'à ouvrir une autre discussion pour mon dernier problème.
Hors ligne