v_change_sys_config_value 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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// /%spc%}
  13. # Importing variables
  14. source $VESTA/conf/vars.conf
  15. source $V_CONF/vesta.conf
  16. source $V_FUNC/shared.func
  17. #----------------------------------------------------------#
  18. # Verifications #
  19. #----------------------------------------------------------#
  20. # Checking args
  21. check_args '2' "$#" 'key value'
  22. # Checking argument format
  23. format_validation 'key'
  24. # Checking key existance
  25. check_ckey=$(grep "^$key='" $V_CONF/vesta.conf)
  26. if [ -z "$check_ckey" ]; then
  27. echo "Error: key not found"
  28. log_event 'debug' "$E_INVALID $V_EVENT"
  29. exit $E_INVALID
  30. fi
  31. #----------------------------------------------------------#
  32. # Action #
  33. #----------------------------------------------------------#
  34. # Updating conf
  35. sed -i "s/$key=.*/$key='$value'/g" $V_CONF/vesta.conf
  36. #----------------------------------------------------------#
  37. # Vesta #
  38. #----------------------------------------------------------#
  39. # Logging
  40. log_event 'system' "$V_EVENT"
  41. exit