Contenu | Rechercher | Menus

Annonce

L'équipe des administrateurs et modérateurs du forum vous invite à prendre connaissance des nouvelles règles.
En cas de besoin, vous pouvez intervenir dans cette discussion.

Ubuntu 18.04 LTS
Ubuntu-fr propose des clés USB de Ubuntu et toutes ses « saveurs » ainsi qu'un magnifique t-shirt pour cette toute nouvelle version d'Ubuntu !

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 17/03/2018, à 16:29

ar barzh paour

[Info]cle-schema

pour m'amuser
au cours de mes tribulations , j'ai écrit un script qui permet de visualiser la valeur des clés en fonction du nom d'un schéma (ou d'une partie du nom d'un schéma) ( utilise la commande gsettings)
mettre le script dans un répertoire
le résultat est visualisé à l'écran et est écrit dans ce même répertoire
les fichiers créés ne sont pas effacés , à faire manuellement
remarque : il faut que yad soit installé

#!/bin/bash
rep=$(dirname $0)
param="$1"
LON=90      # valeur modifiable , longueur des "=" dans SCHEMA 
deb="cle"  # début des fichiers créés >clé_xxxxx_<date>.txt

schemas=( $( gsettings list-schemas ) )        # met en tableau les schemas
liste=$(echo ${schemas[@]}|sed -e 's/ /!/g')   # utilisable par yad

function choix-schema {
    choix=$( yad --center --width 500                           \
        --title="$0 :   SCHEMA"                                 \
        --text="choisir un schéma (ou un terme existant dans la liste proposée)" \
        --form                                                   \
                                                                 \
        --field="schéma:CBE" "!$liste"                           \
        --button="gtk-close:1"                                   \
        --button="gtk-ok:0"                                      \
       2>/dev/null
       )
}

function calcul_premiere_ligne_schema {
# renvoie une ligne formatée de longueur $LON
# $1 nom du schema
# <$1> ===========================
premiere_ligne_schema="$1 "
while [[ ${#premiere_ligne_schema} < $LON ]]
    do
        premiere_ligne_schema=$premiere_ligne_schema"="
    done    
}

# PROGRAMME PRINCIPAL
while :
do
    if [[ -z $param ]]
        then
            choix-schema
            param=$(sed -e 's/|//g' <<< $choix )
    fi
    if [[ -z $param ]]
        then
            texte=" Vous pourez peut-être effacer les fichiers suivants : "
            texte="$texte\n$(ls ${rep}/${deb}_*.txt)"
            titre="les fichiers suivants ont pus être créés"
            zenity --info --title="$titre" --text="$texte" --height "640" --width "640"
            exit 0 # c'est une sortie
    fi
    fich="${rep}/${deb}_${param}_$(date +%Y-%m-%d:%H-%M-%S).txt"      # le fichier qui contiendra le résultat
    schema_param=($(gsettings list-schemas|grep "$param"))  # recherche schema(s) fonction du choix utilisé

    echo "${#schema_param[@]} schéma(s) trouvé(s) avec $param"     > "$fich"
    for i in ${!schema_param[@]}
    do
        calcul_premiere_ligne_schema ${schema_param[$i]}                    # pour mise en forme
        echo -e "\nSCHEMA ===== $premiere_ligne_schema $i"              >> "$fich" 
        cle_param=( $(gsettings list-keys ${schema_param[$i]}) )            # mise en tableau cles schema_i
        echo "       ${#cle_param[@]} clé(s) trouvée(s) dans le schema"  >>"$fich"      
        for j in ${!cle_param[@]}                                           # écriture nom et valeurs des clés
        do
                echo "CLE ================================== $j"        >> "$fich"
                echo "NOM    : "${cle_param[$j]}                        >> "$fich"
                echo -e "Valeur : \c"                                   >> "$fich"
                gsettings get ${schema_param[$i]} ${cle_param[$j]}      >> "$fich"
        done   
    done

    # affichage final
    zenity --text-info --filename "$fich" --height "640" --width "1280" --font "Courier New Bold 12" 2>/dev/null

    # on recommence
    param=""
done

Dernière modification par ar barzh paour (Le 07/06/2018, à 10:02)


Ubuntu 16.04 64 bits (depuis juillet 2016) , 18.04 en essai (décembre 2017)
divers versions (peu utilisées maintenant) Ubuntu et Studio 14.04 LTS 64 bits , MATE 16.04
(03/2018) : PC          : Intel(R) Pentium(R) CPU G4600 @ 3.60GHz  + 4GiB RAM DDR4-2400
(06/2017) : Portable : Intel(R) Core(TM)2  Duo CPU     T5750  @ 2.00GHz 3Go de RAM DDR2 667 Mhz

Hors ligne