@@ -23,6 +23,10 @@ RD="\e[1;91m"
2323GN=" \e[1;92m"
2424CL=" \e[0m"
2525
26+ SANITIZE_NUMBER () {
27+ echo " $1 " | tr -cd ' 0-9'
28+ }
29+
2630ARGUMENTS () {
2731 while [[ $# -gt 0 ]]; do
2832 local ARGUMENT=" $1 "
@@ -271,6 +275,7 @@ VM_CHECK_START () {
271275 SSH_VM_PORT=$( awk -F' "' ' /^SSH_VM_PORT=/ {print $2}' " $LOCAL_FILES /VMs/$VM " )
272276 SSH_VM_PORT=" ${SSH_VM_PORT:- 22} "
273277 SSH_START_DELAY_TIME=$( awk -F' "' ' /^SSH_START_DELAY_TIME=/ {print $2}' " $LOCAL_FILES /VMs/$VM " )
278+ SSH_START_DELAY_TIME=$( SANITIZE_NUMBER " $SSH_START_DELAY_TIME " )
274279 SSH_START_DELAY_TIME=" ${SSH_START_DELAY_TIME:- 45} "
275280 fi
276281 if [[ " $STATUS " == " status: stopped" && " $STOPPED_VM " == true ]]; then
@@ -397,9 +402,13 @@ CHECK_VM_QEMU () {
397402# fi
398403 if [[ ${OS,,} =~ ubuntu| mint| kali| debian| devuan ]]; then
399404 qm guest exec " $VM " -- bash -c " apt-get update" > /dev/null 2>&1
400- SECURITY_APT_UPDATES=$( qm guest exec " $VM " -- bash -c " apt-get -s upgrade | grep -ci ^inst.*security | tr -d '\n'" | tail -n +4 | head -n -1 | cut -c 18- | rev | cut -c 2- | rev)
405+ SECURITY_APT_UPDATES=$( qm guest exec " $VM " -- bash -c " apt-get -s upgrade | grep -ci '^inst.*security'" | tail -n +4 | head -n -1 | cut -c 18- | rev | cut -c 2- | rev)
406+ SECURITY_APT_UPDATES=$( SANITIZE_NUMBER " $SECURITY_APT_UPDATES " )
407+ SECURITY_APT_UPDATES=${SECURITY_APT_UPDATES:- 0}
401408 if [[ " $SECURITY_APT_UPDATES " -gt 0 ]]; then SECURITY_UPDATES_AVALABLE=true; fi
402- NORMAL_APT_UPDATES=$( qm guest exec " $VM " -- bash -c " apt-get -s upgrade | grep -ci ^inst. | tr -d '\n'" | tail -n +4 | head -n -1 | cut -c 18- | rev | cut -c 2- | rev)
409+ NORMAL_APT_UPDATES=$( qm guest exec " $VM " -- bash -c " apt-get -s upgrade | grep -ci '^inst.'" | tail -n +4 | head -n -1 | cut -c 18- | rev | cut -c 2- | rev)
410+ NORMAL_APT_UPDATES=$( SANITIZE_NUMBER " $NORMAL_APT_UPDATES " )
411+ NORMAL_APT_UPDATES=${NORMAL_APT_UPDATES:- 0}
403412 EXITCODE=$( qm guest exec " $VM " -- bash -c ' [ -f /var/run/reboot-required.pkgs ]' 2> /dev/null | grep -o ' "exitcode"[[:space:]]*:[[:space:]]*[0-9]*' | grep -o ' [0-9]\+' )
404413 EXITCODE=${EXITCODE:- 1}
405414 if [[ " $EXITCODE " -eq 0 ]]; then
@@ -419,12 +428,16 @@ CHECK_VM_QEMU () {
419428 elif [[ " $OS " =~ Fedora ]]; then
420429 qm guest exec " $VM " -- bash -c " dnf -y update" > /dev/null 2>&1
421430 UPDATES=$( qm guest exec " $VM " -- bash -c " dnf check-update | grep -Ec ' updates$'" | tail -n +4 | head -n -1 | cut -c 18- | rev | cut -c 2- | rev)
431+ UPDATES=$( SANITIZE_NUMBER " $UPDATES " )
432+ UPDATES=${UPDATES:- 0}
422433 if [[ " $UPDATES " -gt 0 ]]; then
423434 echo -e " ${GN} VM ${BL} $VM ${CL} : ${GN} $NAME ${CL} "
424435 echo -e " $UPDATES "
425436 fi
426437 elif [[ " $OS " =~ Arch ]]; then
427438 UPDATES=$( qm guest exec " $VM " -- bash -c " pacman -Qu | wc -l" | tail -n +4 | head -n -1 | cut -c 18- | rev | cut -c 2- | rev)
439+ UPDATES=$( SANITIZE_NUMBER " $UPDATES " )
440+ UPDATES=${UPDATES:- 0}
428441 if [[ " $UPDATES " -gt 0 ]]; then
429442 echo -e " ${GN} VM ${BL} $VM ${CL} : ${GN} $NAME ${CL} "
430443 echo -e " $UPDATES "
@@ -433,6 +446,8 @@ CHECK_VM_QEMU () {
433446 return
434447 elif [[ " $OS " =~ CentOS ]]; then
435448 UPDATES=$( qm guest exec " $VM " -- bash -c " yum -q check-update | wc -l" | tail -n +4 | head -n -1 | cut -c 18- | rev | cut -c 2- | rev)
449+ UPDATES=$( SANITIZE_NUMBER " $UPDATES " )
450+ UPDATES=${UPDATES:- 0}
436451 if [[ " $UPDATES " -gt 0 ]]; then
437452 echo -e " ${GN} VM ${BL} $VM ${CL} : ${GN} $NAME ${CL} "
438453 echo -e " $UPDATES "
0 commit comments