fix: improve pattern matching

This commit is contained in:
th33xitus
2021-05-25 18:39:37 +02:00
parent dc27fe47e1
commit a83585fb06
2 changed files with 36 additions and 26 deletions

View File

@@ -46,15 +46,19 @@ moonraker_setup_dialog(){
print_msg && clear_msg && return 0 print_msg && clear_msg && return 0
fi fi
shopt -s extglob # enable extended globbing
### check for existing moonraker service installations ### check for existing moonraker service installations
if ls /etc/systemd/system/moonraker*.service 2>/dev/null 1>&2; then FILE="$SYSTEMDDIR/moonraker?(-*([0-9])).service"
if ls $FILE 2>/dev/null 1>&2; then
ERROR_MSG="At least one Moonraker service is already installed!" && return 0 ERROR_MSG="At least one Moonraker service is already installed!" && return 0
fi fi
### check for existing klipper service installations ### check for existing klipper service installations
if ! ls /etc/systemd/system/klipper*.service 2>/dev/null 1>&2; then FILE="$SYSTEMDDIR/klipper?(-*([0-9])).service"
if ! ls $FILE 2>/dev/null 1>&2; then
ERROR_MSG="Klipper service not found, please install Klipper first!" && return 0 ERROR_MSG="Klipper service not found, please install Klipper first!" && return 0
fi fi
shopt -u extglob # disable extended globbing
### count amount of klipper services ### count amount of klipper services
if [ "$(systemctl list-units --full -all -t service --no-legend | grep -F "klipper.service")" ]; then if [ "$(systemctl list-units --full -all -t service --no-legend | grep -F "klipper.service")" ]; then

View File

@@ -2,6 +2,7 @@
SYSTEMDDIR="/etc/systemd/system" SYSTEMDDIR="/etc/systemd/system"
remove_klipper(){ remove_klipper(){
shopt -s extglob # enable extended globbing
### ask the user if he wants to uninstall moonraker too. ### ask the user if he wants to uninstall moonraker too.
###? currently usefull if the user wants to switch from single-instance to multi-instance ###? currently usefull if the user wants to switch from single-instance to multi-instance
if ls /etc/systemd/system/moonraker*.service 2>/dev/null 1>&2; then if ls /etc/systemd/system/moonraker*.service 2>/dev/null 1>&2; then
@@ -45,9 +46,10 @@ remove_klipper(){
fi fi
### remove all klipper services ### remove all klipper services
if ls /etc/systemd/system/klipper*.service 2>/dev/null 1>&2; then FILE="$SYSTEMDIR/klipper?(-*([0-9])).service"
if ls $FILE 2>/dev/null 1>&2; then
status_msg "Removing Klipper Services ..." status_msg "Removing Klipper Services ..."
for service in $(ls /etc/systemd/system/klipper*.service | cut -d"/" -f5) for service in $(ls $FILE | cut -d"/" -f5)
do do
status_msg "Removing $service ..." status_msg "Removing $service ..."
sudo systemctl stop $service sudo systemctl stop $service
@@ -62,32 +64,32 @@ remove_klipper(){
fi fi
### remove all logfiles ### remove all logfiles
if ls /tmp/klippy*.log 2>/dev/null 1>&2; then FILE="/tmp/klippy?(-*([0-9])).log"
for logfile in $(ls /tmp/klippy*.log) if ls $FILE 2>/dev/null 1>&2; then
do for log in $(ls $FILE); do
status_msg "Removing $logfile ..." status_msg "Removing $log ..."
rm -f $logfile rm -f $log
ok_msg "File '$logfile' removed!" ok_msg "$log removed!"
done done
fi fi
### remove all UDS ### remove all UDS
if ls /tmp/klippy_uds* 2>/dev/null 1>&2; then FILE="/tmp/klippy_uds?(-*([0-9]))"
for uds in $(ls /tmp/klippy_uds*) if ls $FILE 2>/dev/null 1>&2; then
do for uds in $(ls $FILE); do
status_msg "Removing $uds ..." status_msg "Removing $uds ..."
rm -f $uds rm -f $uds
ok_msg "File '$uds' removed!" ok_msg "$uds removed!"
done done
fi fi
### remove all tmp-printer ### remove all tmp-printer
if ls /tmp/printer* 2>/dev/null 1>&2; then FILE="/tmp/printer?(-*([0-9]))"
for tmp_printer in $(ls /tmp/printer*) if ls $FILE 2>/dev/null 1>&2; then
do for tmp_printer in $(ls $FILE); do
status_msg "Removing $tmp_printer ..." status_msg "Removing $tmp_printer ..."
rm -f $tmp_printer rm -f $tmp_printer
ok_msg "File '$tmp_printer' removed!" ok_msg "$tmp_printer removed!"
done done
fi fi
@@ -102,6 +104,7 @@ remove_klipper(){
fi fi
CONFIRM_MSG=" Klipper was successfully removed!" && print_msg && clear_msg CONFIRM_MSG=" Klipper was successfully removed!" && print_msg && clear_msg
shopt -u extglob # enable extended globbing
if [ "$REM_MR" == "true" ]; then if [ "$REM_MR" == "true" ]; then
remove_moonraker && unset REM_MR remove_moonraker && unset REM_MR
@@ -112,6 +115,7 @@ remove_klipper(){
############################################################# #############################################################
remove_moonraker(){ remove_moonraker(){
shopt -s extglob # enable extended globbing
### remove "legacy" moonraker init.d service ### remove "legacy" moonraker init.d service
if [ -f /etc/init.d/moonraker ]; then if [ -f /etc/init.d/moonraker ]; then
status_msg "Removing Moonraker Service ..." status_msg "Removing Moonraker Service ..."
@@ -123,9 +127,10 @@ remove_moonraker(){
fi fi
### remove all moonraker services ### remove all moonraker services
if ls /etc/systemd/system/moonraker*.service 2>/dev/null 1>&2; then FILE="$SYSTEMDDIR/moonraker?(-*([0-9])).service"
if ls $FILE 2>/dev/null 1>&2; then
status_msg "Removing Moonraker Services ..." status_msg "Removing Moonraker Services ..."
for service in $(ls /etc/systemd/system/moonraker*.service | cut -d"/" -f5) for service in $(ls $FILE | cut -d"/" -f5)
do do
status_msg "Removing $service ..." status_msg "Removing $service ..."
sudo systemctl stop $service sudo systemctl stop $service
@@ -140,12 +145,12 @@ remove_moonraker(){
fi fi
### remove all logfiles ### remove all logfiles
if ls /tmp/moonraker*.log 2>/dev/null 1>&2; then FILE="/tmp/moonraker?(-*([0-9])).log"
for logfile in $(ls /tmp/moonraker*.log) if ls $FILE 2>/dev/null 1>&2; then
do for log in $(ls $FILE); do
status_msg "Removing $logfile ..." status_msg "Removing $log ..."
rm -f $logfile rm -f $log
ok_msg "File '$logfile' removed!" ok_msg "$log removed!"
done done
fi fi
@@ -176,6 +181,7 @@ remove_moonraker(){
fi fi
CONFIRM_MSG=" Moonraker was successfully removed!" CONFIRM_MSG=" Moonraker was successfully removed!"
shopt -u extglob # disable extended globbing
} }
############################################################# #############################################################