Pages : 1
#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 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( 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
Pages : 1