mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-02-01 23:31:50 +00:00
fix spinner on lxc-ip-tag (#876)
* fix spinner on lxc-ip-tag * fix indention
This commit is contained in:
parent
b18b49ef6f
commit
c60b16229b
@ -7,8 +7,8 @@
|
|||||||
# Source: https://github.com/gitsang/lxc-iptag
|
# Source: https://github.com/gitsang/lxc-iptag
|
||||||
|
|
||||||
function header_info {
|
function header_info {
|
||||||
clear
|
clear
|
||||||
cat <<"EOF"
|
cat <<"EOF"
|
||||||
__ _ ________ ________ ______
|
__ _ ________ ________ ______
|
||||||
/ / | |/ / ____/ / _/ __ \ /_ __/___ _____ _
|
/ / | |/ / ____/ / _/ __ \ /_ __/___ _____ _
|
||||||
/ / | / / / // /_/ /_____/ / / __ `/ __ `/
|
/ / | / / / // /_/ /_____/ / / __ `/ __ `/
|
||||||
@ -41,7 +41,7 @@ catch_errors() {
|
|||||||
|
|
||||||
# This function is called when an error occurs. It receives the exit code, line number, and command that caused the error, and displays an error message.
|
# This function is called when an error occurs. It receives the exit code, line number, and command that caused the error, and displays an error message.
|
||||||
error_handler() {
|
error_handler() {
|
||||||
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
|
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi
|
||||||
printf "\e[?25h"
|
printf "\e[?25h"
|
||||||
local exit_code="$?"
|
local exit_code="$?"
|
||||||
local line_number="$1"
|
local line_number="$1"
|
||||||
@ -50,16 +50,18 @@ error_handler() {
|
|||||||
echo -e "\n$error_message\n"
|
echo -e "\n$error_message\n"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# This function displays a spinner.
|
||||||
spinner() {
|
spinner() {
|
||||||
local frames=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')
|
local frames=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')
|
||||||
local spin_i=0
|
local spin_i=0
|
||||||
local interval=0.1
|
local interval=0.1
|
||||||
printf "\e[?25l"
|
printf "\e[?25l"
|
||||||
local orange="\e[38;5;214m"
|
|
||||||
|
local color="${YWB}"
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
printf "\r ${orange}%s\e[0m " "${frames[spin_i]}"
|
printf "\r ${color}%s${CL}" "${frames[spin_i]}"
|
||||||
spin_i=$(( (spin_i + 1) % ${#frames[@]} ))
|
spin_i=$(((spin_i + 1) % ${#frames[@]}))
|
||||||
sleep "$interval"
|
sleep "$interval"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@ -67,33 +69,36 @@ spinner() {
|
|||||||
# This function displays an informational message with a yellow color.
|
# This function displays an informational message with a yellow color.
|
||||||
msg_info() {
|
msg_info() {
|
||||||
local msg="$1"
|
local msg="$1"
|
||||||
echo -ne " ${HOLD} ${YW}${msg} "
|
echo -ne "${TAB}${YW}${HOLD}${msg}${HOLD}"
|
||||||
spinner &
|
spinner &
|
||||||
SPINNER_PID=$!
|
SPINNER_PID=$!
|
||||||
}
|
}
|
||||||
|
|
||||||
# This function displays a success message with a green color.
|
# This function displays a success message with a green color.
|
||||||
msg_ok() {
|
msg_ok() {
|
||||||
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
|
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi
|
||||||
printf "\e[?25h"
|
printf "\e[?25h"
|
||||||
local msg="$1"
|
local msg="$1"
|
||||||
echo -e "${BFR}${CM} ${GN}${msg}${CL}"
|
echo -e "${BFR}${CM}${GN}${msg}${CL}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# This function displays a error message with a red color.
|
# This function displays a error message with a red color.
|
||||||
msg_error() {
|
msg_error() {
|
||||||
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
|
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi
|
||||||
printf "\e[?25h"
|
printf "\e[?25h"
|
||||||
local msg="$1"
|
local msg="$1"
|
||||||
echo -e "${BFR}${CROSS} ${RD}${msg}${CL}"
|
echo -e "${BFR}${CROSS}${RD}${msg}${CL}"
|
||||||
}
|
}
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
read -p "This will install ${APP} on ${hostname}. Proceed? (y/n): " yn
|
read -p "This will install ${APP} on ${hostname}. Proceed? (y/n): " yn
|
||||||
case $yn in
|
case $yn in
|
||||||
[Yy]*) break ;;
|
[Yy]*) break ;;
|
||||||
[Nn]*) msg_info "Installation cancelled."; exit ;;
|
[Nn]*)
|
||||||
*) msg_info "Please answer yes or no." ;;
|
msg_error "Installation cancelled."
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
*) msg_error "Please answer yes or no." ;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -118,10 +123,11 @@ msg_ok "Installed Dependencies"
|
|||||||
|
|
||||||
msg_info "Setting up IP-Tag Scripts"
|
msg_info "Setting up IP-Tag Scripts"
|
||||||
mkdir -p /opt/lxc-iptag
|
mkdir -p /opt/lxc-iptag
|
||||||
|
msg_ok "Setup IP-Tag Scripts"
|
||||||
|
|
||||||
msg_info "Setup Default Config"
|
msg_info "Setup Default Config"
|
||||||
if [[ ! -f /opt/lxc-iptag/iptag.conf ]]; then
|
if [[ ! -f /opt/lxc-iptag/iptag.conf ]]; then
|
||||||
cat <<EOF > /opt/lxc-iptag/iptag.conf
|
cat <<EOF >/opt/lxc-iptag/iptag.conf
|
||||||
# Configuration file for LXC IP tagging
|
# Configuration file for LXC IP tagging
|
||||||
|
|
||||||
# List of allowed CIDRs
|
# List of allowed CIDRs
|
||||||
@ -144,7 +150,7 @@ fi
|
|||||||
|
|
||||||
msg_info "Setup Main Function"
|
msg_info "Setup Main Function"
|
||||||
if [[ ! -f /opt/lxc-iptag/iptag ]]; then
|
if [[ ! -f /opt/lxc-iptag/iptag ]]; then
|
||||||
cat <<'EOF' > /opt/lxc-iptag/iptag
|
cat <<'EOF' >/opt/lxc-iptag/iptag
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# =============== CONFIGURATION =============== #
|
# =============== CONFIGURATION =============== #
|
||||||
@ -322,8 +328,7 @@ chmod +x /opt/lxc-iptag/iptag
|
|||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
if [[ ! -f /lib/systemd/system/iptag.service ]]; then
|
if [[ ! -f /lib/systemd/system/iptag.service ]]; then
|
||||||
echo "Systemd service file not found. Creating it now..."
|
cat <<EOF >/lib/systemd/system/iptag.service
|
||||||
cat <<EOF > /lib/systemd/system/iptag.service
|
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=LXC IP-Tag service
|
Description=LXC IP-Tag service
|
||||||
After=network.target
|
After=network.target
|
||||||
@ -347,5 +352,5 @@ msg_info "Starting Service"
|
|||||||
systemctl daemon-reload &>/dev/null
|
systemctl daemon-reload &>/dev/null
|
||||||
systemctl enable -q --now iptag.service &>/dev/null
|
systemctl enable -q --now iptag.service &>/dev/null
|
||||||
msg_ok "Started Service"
|
msg_ok "Started Service"
|
||||||
|
SPINNER_PID=""
|
||||||
echo -e "\n${APP} installation completed successfully! ${CL}\n"
|
echo -e "\n${APP} installation completed successfully! ${CL}\n"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user