diff --git a/update.sh b/update.sh index 4f2d5fb..fe70696 100755 --- a/update.sh +++ b/update.sh @@ -5,29 +5,29 @@ CL_YLW="\033[01;33m" function reportWarning { echo -e "" - echo -e ${CL_YLW}"${1}"${CL_RST} - if [[ -z ${2} ]]; then + echo -e "${CL_YLW}${1}${CL_RST}" + if [[ -z "${2}" ]]; then echo -e "" fi } # Grab all service names -services=$(ls *.service | cut -d '.' -f 1) +declare -a services +while IFS= read -r -d $'\0'; do + services+=("$REPLY") +done < <(find . -name '*.service' -print0 | sed 's/\.\///g') # Place the systemd unit files where they belong reportWarning "Copying systemd files to /etc/systemd/system" -sudo cp *.service /etc/systemd/system/ +for service in "${services[@]}"; do cp "${service}" /etc/systemd/system/; done # Reload systemctl so that it processes our changes reportWarning "Reloading systemctl daemon" -systemctl daemon-reload - -# Sleep for 5 seconds to let systemctl get it's shit together -sleep 5 +sudo systemctl daemon-reload # Now loop through each service and restart it -for service in ${services};do +for service in "${services[@]}"; do reportWarning "Restarting ${service}" - service ${service} restart - [[ -f /etc/systemd/system/${service}.service ]] || systemctl enable ${service} + service "${service}" restart + [ -f "/etc/systemd/system/${service}.service" ] || systemctl enable "${service}" done \ No newline at end of file