Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- FOLDER_DCONFDUMP="$HOME/myScripts/dconfdump/"
- if [ ! -d "$FOLDER_DCONFDUMP" ]; then
- echo contolla \$FOLDER_DCONFDUMP=$FOLDER_DCONFDUMP
- exit 1
- fi
- files_dconf(){
- local FILES_DCONF ERROR_FILES
- # nella cartella $FOLDER_DCONFDUMP cerco i files che finiscono con "_.dconf",
- # sono scrivibili e non sono vuoti
- FILES_DCONF="`find $FOLDER_DCONFDUMP*_\.dconf -maxdepth 0 -type f \( -writable ! -empty \) 2>/dev/null`"
- ERROR_FILES="$?"
- if [ -z "$FILES_DCONF" ]; then
- # if [ $? -gt 0 ]; then
- # echo "$FILES_DCONF"
- echo no config files
- exit 1
- exit 1
- fi
- # elimino i percorsi, files con spazi
- FILES_DCONF="$(echo "$FILES_DCONF" | grep -v "[[:space:]]")"
- # solo i nomi files che iniziano con 2 numeri seguiti da "_"
- # oppue solo i nomi files che iniziano con "_"
- # e tutti i nomi files finiscono con "_.dconf"
- FILES_DCONF="$(echo "$FILES_DCONF" | grep ".*\/\([0-9]\{2\}_\|_\).*_\.dconf$")"
- # ordino
- FILES_DCONF="$(echo "$FILES_DCONF" |sort -f)"
- echo "$FILES_DCONF"
- }
- if [ "$(files_dconf)" -gt 0 ]; then
- echo "$(files_dconf ) - find error $?"
- exit $?
- fi
- FILES_DCONF="$(files_dconf)"
- echo "$(files_dconf) - $?"
- exit 0
- QQFILES_DCONF="$(\
- # nella cartella $FOLDER_DCONFDUMP cerco i files che finiscono con _.dconf,
- # sono scrivibili e non sono vuoti
- find $FOLDER_DCONFDUMP*_\.dconf -maxdepth 0 -type f \( -writable ! -empty \) 2>/dev/null |\
- ERROR_FILES="$? - $_ $ERROR_FILES" |\
- # elimino i percorsi, files con spazi
- grep -v "[[:space:]]" |\
- # solo i nomi files che iniziano con 2 numeri seguiti da "_"
- # oppue solo i nomi files che iniziano con "_"
- # e tutti i nomi files finiscono con "_.dconf"
- grep ".*\/\([0-9]\{2\}_\|_\).*_\.dconf$" |\
- # ordino
- sort -f
- )"
- echo $ERROR_FILES
- mapfile -O 0 -n 0 "A_FILES_DCONF"<<<"$FILES_DCONF"
- ERROR_mapfile="$?"
- if [ $ERROR_mapfile -gt 0 -o -z "$A_FILES_DCONF" ]; then
- echo "
- nessun file valido nella cartella
- $FOLDER_DCONFDUMP"
- exit 1
- fi
- Gb(){ # giallo grassetto
- echo -e "\e[33;1m$1\e[0m"
- }
- G(){ # giallo
- echo -e "\e[33m$1\e[0m"
- }
- Cb(){ # ciano grassetto
- echo -e "\e[36;1m$1\e[0m"
- }
- help(){
- case "$1" in dump)
- echo "argomento per dump /dir/"
- ;;
- esac
- echo "
- *help da fare"
- }
- # COUNT_ARG="$#"
- # while [ "$COUNT_ARG" -gt "0" ]; do
- case "$1" in h | help)
- help
- ;;
- d | du | dump )
- if [ -z "$2" ]; then
- help dump
- else
- echo "$(Gb "dconf dump") '$2'"
- dconf dump $2
- echo "$(Gb "da fare")"
- fi
- ;;
- * )
- ;;
- esac
- # COUNT_ARG=$[COUNT_ARG -1]
- # done
- echo end ciao
- exit 0
- ###########################################################################
- ###########################################################################
- ###########################################################################
- ###########################################################################
- ###########################################################################
- if [ -z "$FILES_DCONF" ]; then
- echo "\$FILES_DCONF=\"$FILES_DCONF\"
- -----------"
- exit 1
- fi
- # echo -e "---------
- # files disponibili dalla cartella
- # $FOLDER_DCONFDUMP
- # $(echo -e "$FILES_DCONF" | sed "s|$FOLDER_DCONFDUMP|\t|g")
- # ---------"
- mapfile -O 0 "A_FILES_DCONF"<<<"$FILES_DCONF"
- ERROR_mapfile="$?"
- ###################
- dcFileToPath(){
- # converte e restituisce il nome del file
- # "${A_FILES_DCONF[$n°]}" passato come argomento,
- # nel percorso valido per "dconf load"
- local GLUE
- GLUE="`basename $1`"
- GLUE="$(\
- basename $1 |\
- sed "s|^[0-9]\{2\}_|/|g ;
- s|_|/|g ;
- s|.dconf$||g
- "
- )"
- echo "$GLUE"
- unset GLUE
- }
- ###################
- ###################
- listDconfDump(){
- # visualizza i files disponibili per dconf load
- local i A_COUNT="${#A_FILES_DCONF[@]}"
- if [ "$1" == "path" ]; then
- echo -e "dconf load $(dcFileToPath "${A_FILES_DCONF[$i]}")"
- else
- if [ $A_COUNT -gt 1 ];then
- echo -n " ${#A_FILES_DCONF[@]} files "
- else
- echo -n " ${#A_FILES_DCONF[@]} file "
- fi
- fi
- echo -e "dalla cartella: $FOLDER_DCONFDUMP"
- for (( i=0 ; i<"${#A_FILES_DCONF[@]}" ; i++ )); do
- if [ ${#A_FILES_DCONF[$i]} -gt 0 ]; then
- echo " $i \"$(basename ${A_FILES_DCONF[$i]})\""
- echo -en "$(Gb "dconf load") $(dcFileToPath "${A_FILES_DCONF[$i]}") $(Gb "<") ${A_FILES_DCONF[$i]}"
- fi
- done
- }
- ####################
- listDconfDump
- # if [ "$1"=="load" ]; then
- # DCONF_LOAD="$i dconf load $(dcFileToPath "${A_FILES_DCONF[$i]}") < ${A_FILES_DCONF[$i]}"
- # echo -e $DCONF_LOAD
- # ## `dconf load $(dcFileToPath "${A_FILES_DCONF[$i]}") < ${A_FILES_DCONF[$i]}`
- # fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement