Advertisement
marioq

mydconf

Dec 14th, 2017
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.53 KB | None | 0 0
  1. #!/bin/bash
  2. FOLDER_DCONFDUMP="$HOME/myScripts/dconfdump/"
  3. if [ ! -d "$FOLDER_DCONFDUMP" ]; then
  4.     echo contolla \$FOLDER_DCONFDUMP=$FOLDER_DCONFDUMP
  5.     exit 1
  6. fi
  7.  
  8. files_dconf(){
  9.     local FILES_DCONF ERROR_FILES
  10.     # nella cartella $FOLDER_DCONFDUMP cerco i files che finiscono con "_.dconf",
  11.     # sono scrivibili e non sono vuoti
  12.     FILES_DCONF="`find $FOLDER_DCONFDUMP*_\.dconf -maxdepth 0 -type f \( -writable ! -empty \) 2>/dev/null`"
  13.     ERROR_FILES="$?"
  14.     if [ -z "$FILES_DCONF" ]; then
  15.     # if [ $? -gt 0 ]; then
  16.         # echo "$FILES_DCONF"
  17.         echo no config files
  18.         exit 1
  19.         exit 1
  20.     fi
  21.         # elimino i percorsi, files con spazi
  22.         FILES_DCONF="$(echo "$FILES_DCONF" | grep -v "[[:space:]]")"
  23.  
  24.         # solo i nomi files che iniziano con 2 numeri seguiti da "_"
  25.         # oppue solo i nomi files che iniziano con "_"
  26.         # e tutti i nomi files finiscono con "_.dconf"
  27.         FILES_DCONF="$(echo "$FILES_DCONF" | grep ".*\/\([0-9]\{2\}_\|_\).*_\.dconf$")"
  28.  
  29.         # ordino
  30.         FILES_DCONF="$(echo "$FILES_DCONF" |sort -f)"
  31.  
  32.     echo "$FILES_DCONF"
  33. }
  34. if [ "$(files_dconf)" -gt 0 ]; then
  35.     echo "$(files_dconf ) - find error $?"
  36.     exit $?
  37. fi
  38. FILES_DCONF="$(files_dconf)"
  39. echo "$(files_dconf) - $?"
  40. exit 0
  41. QQFILES_DCONF="$(\
  42.     # nella cartella $FOLDER_DCONFDUMP cerco i files che finiscono con _.dconf,
  43.     # sono scrivibili e non sono vuoti
  44.     find $FOLDER_DCONFDUMP*_\.dconf -maxdepth 0 -type f \( -writable ! -empty \) 2>/dev/null |\
  45.     ERROR_FILES="$? - $_ $ERROR_FILES" |\
  46.  
  47.     # elimino i percorsi, files con spazi
  48.     grep -v "[[:space:]]" |\
  49.  
  50.     # solo i nomi files che iniziano con 2 numeri seguiti da "_"
  51.     # oppue solo i nomi files che iniziano con "_"
  52.     # e tutti i nomi files finiscono con "_.dconf"
  53.     grep ".*\/\([0-9]\{2\}_\|_\).*_\.dconf$" |\
  54.  
  55.     # ordino
  56.     sort -f
  57. )"
  58. echo $ERROR_FILES
  59. mapfile -O 0 -n 0 "A_FILES_DCONF"<<<"$FILES_DCONF"
  60. ERROR_mapfile="$?"
  61. if [ $ERROR_mapfile -gt 0 -o -z "$A_FILES_DCONF" ]; then
  62.     echo "
  63.     nessun file valido nella cartella
  64.     $FOLDER_DCONFDUMP"
  65.     exit 1
  66. fi
  67. Gb(){ # giallo grassetto
  68.     echo -e "\e[33;1m$1\e[0m"
  69. }
  70. G(){ # giallo
  71.     echo -e "\e[33m$1\e[0m"
  72. }
  73. Cb(){ # ciano grassetto
  74.     echo -e "\e[36;1m$1\e[0m"
  75. }
  76.  
  77. help(){
  78.     case "$1" in dump)
  79.         echo "argomento per dump /dir/"
  80.     ;;
  81.     esac
  82.  
  83.     echo "
  84.     *help da fare"
  85.  
  86. }
  87.  
  88. # COUNT_ARG="$#"
  89. # while [ "$COUNT_ARG" -gt "0" ]; do
  90.     case "$1" in h | help)
  91.         help
  92.     ;;
  93.     d | du | dump )
  94.         if [ -z "$2" ]; then
  95.             help dump
  96.         else
  97.             echo "$(Gb "dconf dump") '$2'"
  98.             dconf dump  $2
  99.             echo "$(Gb "da fare")"
  100.         fi
  101.     ;;
  102.     * )
  103.     ;;
  104.     esac
  105.     # COUNT_ARG=$[COUNT_ARG -1]
  106. # done
  107. echo end ciao
  108.  
  109.  
  110.  
  111. exit 0
  112. ###########################################################################
  113. ###########################################################################
  114. ###########################################################################
  115. ###########################################################################
  116. ###########################################################################
  117.  
  118. if [ -z "$FILES_DCONF" ]; then
  119.     echo "\$FILES_DCONF=\"$FILES_DCONF\"
  120.     -----------"
  121.     exit 1
  122. fi
  123.  
  124.  
  125. # echo -e "---------
  126. # files disponibili dalla cartella
  127. # $FOLDER_DCONFDUMP
  128. # $(echo -e "$FILES_DCONF" | sed "s|$FOLDER_DCONFDUMP|\t|g")
  129. # ---------"
  130.  
  131. mapfile -O 0 "A_FILES_DCONF"<<<"$FILES_DCONF"
  132. ERROR_mapfile="$?"
  133.  
  134. ###################
  135. dcFileToPath(){
  136.     # converte e restituisce il nome del file
  137.     # "${A_FILES_DCONF[$n°]}" passato come argomento,
  138.     # nel percorso valido per "dconf load"
  139.     local GLUE
  140.     GLUE="`basename $1`"
  141.     GLUE="$(\
  142.         basename $1 |\
  143.         sed "s|^[0-9]\{2\}_|/|g ;
  144.             s|_|/|g ;
  145.             s|.dconf$||g
  146.         "
  147.     )"
  148.     echo "$GLUE"
  149.     unset GLUE
  150. }
  151. ###################
  152.  
  153. ###################
  154. listDconfDump(){
  155.     # visualizza i files disponibili per dconf load
  156.     local i A_COUNT="${#A_FILES_DCONF[@]}"
  157.     if [ "$1" == "path" ]; then
  158.         echo -e "dconf load $(dcFileToPath "${A_FILES_DCONF[$i]}")"
  159.     else
  160.         if [ $A_COUNT -gt 1 ];then
  161.             echo -n " ${#A_FILES_DCONF[@]} files "
  162.         else
  163.             echo -n " ${#A_FILES_DCONF[@]} file "
  164.         fi
  165.     fi
  166.     echo -e "dalla cartella: $FOLDER_DCONFDUMP"
  167.     for (( i=0 ; i<"${#A_FILES_DCONF[@]}" ; i++ )); do
  168.         if [ ${#A_FILES_DCONF[$i]} -gt 0 ]; then
  169.             echo " $i \"$(basename ${A_FILES_DCONF[$i]})\""
  170.             echo -en "$(Gb "dconf load") $(dcFileToPath "${A_FILES_DCONF[$i]}") $(Gb "<") ${A_FILES_DCONF[$i]}"
  171.         fi
  172.     done
  173. }
  174. ####################
  175.  
  176. listDconfDump
  177.  
  178. # if [ "$1"=="load" ]; then
  179.     # DCONF_LOAD="$i dconf load $(dcFileToPath "${A_FILES_DCONF[$i]}") < ${A_FILES_DCONF[$i]}"
  180.         # echo -e $DCONF_LOAD
  181.  
  182.         # ## `dconf load $(dcFileToPath "${A_FILES_DCONF[$i]}") < ${A_FILES_DCONF[$i]}`
  183. # fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement