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 17/03/2018, à 15: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, à 09:02)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne