v-change-sys-config-value 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/bin/bash
  2. # info: change sysconfig value
  3. # options: key value
  4. #
  5. # The function is for changing main config settings such as COMPANY_NAME or
  6. # COMPANY_EMAIL and so on.
  7. #----------------------------------------------------------#
  8. # Variable&Function #
  9. #----------------------------------------------------------#
  10. # Argument defenition
  11. key=$(echo "$1" | tr '[:lower:]' '[:upper:]' )
  12. value=$2
  13. # Includes
  14. source $VESTA/conf/vesta.conf
  15. source $VESTA/func/main.sh
  16. #----------------------------------------------------------#
  17. # Verifications #
  18. #----------------------------------------------------------#
  19. check_args '2' "$#" 'key value'
  20. validate_format 'key'
  21. check_ckey=$(grep "^$key='" $VESTA/conf/vesta.conf)
  22. if [ -z "$check_ckey" ]; then
  23. echo "Error: key $key not found"
  24. log_event "$E_INVALID" "$EVENT"
  25. exit $E_INVALID
  26. fi
  27. #----------------------------------------------------------#
  28. # Action #
  29. #----------------------------------------------------------#
  30. # Updating conf
  31. sed -i "s/$key=.*/$key='$value'/g" $VESTA/conf/vesta.conf
  32. #----------------------------------------------------------#
  33. # Vesta #
  34. #----------------------------------------------------------#
  35. # Logging
  36. log_event "$OK" "$EVENT"
  37. exit