mirror of
https://github.com/Snowy-Fluffy/zapret.installer.git
synced 2025-12-06 09:03:04 +03:00
bug fix + low end system fix
This commit is contained in:
@@ -30,9 +30,12 @@ zapret
|
||||
- Alt Linux
|
||||
- Void Linux
|
||||
- Gentoo Linux
|
||||
- OpenWrt
|
||||
- OpenSUSE
|
||||
- Aipline Linux
|
||||
- OpenWrt
|
||||
|
||||
> [!IMPORTANT]
|
||||
> На Openwrt также советую попробовать (zapret-openwrt)[https://github.com/remittor/zapret-openwrt]
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Системы инициализации *runit*, *OpenRC* и *SysVinit* поддерживаются только частично.
|
||||
|
||||
@@ -65,28 +65,47 @@ install_zapret() {
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
echo "Клонирую репозиторий..."
|
||||
sleep 2
|
||||
git clone https://github.com/bol-van/zapret /opt/zapret
|
||||
echo "Клонирую репозиторий..."
|
||||
git clone https://github.com/Snowy-Fluffy/zapret.cfgs /opt/zapret/zapret.cfgs
|
||||
echo "Клонирование успешно завершено."
|
||||
rm -rf /opt/zapret/binaries
|
||||
echo -e "\e[45mКлонирую релиз запрета...\e[0m"
|
||||
if [[ ! -d /opt/zapret.installer/zapret.binaries/ ]]; then
|
||||
rm -rf /opt/zapret.installer/zapret.binaries/
|
||||
if [ SYSTEM = openwrt ]; then
|
||||
echo "Получаю релиз запрета..."
|
||||
sleep 2
|
||||
mkdir -p /tmp/zapret_download
|
||||
cd /tmp/zapret_download || error_exit "Не удалось перейти в /tmp/zapret_download"
|
||||
if ! curl -L -o https://github.com/bol-van/zapret/releases/download/v71.1.1/zapret-v71.1.1.tar.gz; then
|
||||
rm -rf /tmp/zapret_download
|
||||
error_exit "Не удалось получить релиз запрета."
|
||||
fi
|
||||
mkdir -p /opt/zapret
|
||||
if ! tar -xzf zapret-v71.1.1.tar.gz -C /opt/zapret --strip-components=1; then
|
||||
rm -rf /tmp/zapret_download /opt/zapret
|
||||
error_exit "Не удалось разархивировать архив с релизом запрета."
|
||||
fi
|
||||
git clone https://github.com/Snowy-Fluffy/zapret.cfgs /opt/zapret/zapret.cfgs
|
||||
rm -rf /tmp/zapret_download
|
||||
else
|
||||
echo "Клонирую репозиторий..."
|
||||
sleep 2
|
||||
git clone https://github.com/bol-van/zapret /opt/zapret
|
||||
echo "Клонирую репозиторий..."
|
||||
git clone https://github.com/Snowy-Fluffy/zapret.cfgs /opt/zapret/zapret.cfgs
|
||||
echo "Клонирование успешно завершено."
|
||||
rm -rf /opt/zapret/binaries
|
||||
echo -e "\e[45mКлонирую релиз запрета...\e[0m"
|
||||
if [[ ! -d /opt/zapret.installer/zapret.binaries/ ]]; then
|
||||
rm -rf /opt/zapret.installer/zapret.binaries/
|
||||
fi
|
||||
mkdir -p /opt/zapret.installer/zapret.binaries/zapret
|
||||
if ! curl -L -o /opt/zapret.installer/zapret.binaries/zapret/zapret-v71.1.1.tar.gz https://github.com/bol-van/zapret/releases/download/v71.1.1/zapret-v71.1.1.tar.gz; then
|
||||
rm -rf /opt/zapret /tmp/zapret
|
||||
error_exit "не удалось получить релиз запрета."
|
||||
fi
|
||||
echo "Получение запрета завершено."
|
||||
if ! tar -xzf /opt/zapret.installer/zapret.binaries/zapret/zapret-v71.1.1.tar.gz -C /opt/zapret.installer/zapret.binaries/zapret/; then
|
||||
rm -rf /opt/zapret.installer/
|
||||
error_exit "не удалось разархивировать архив с релизом запрета."
|
||||
fi
|
||||
cp -r /opt/zapret.installer/zapret.binaries/zapret/zapret-v71.1.1/binaries/ /opt/zapret/binaries
|
||||
fi
|
||||
mkdir -p /opt/zapret.installer/zapret.binaries/zapret
|
||||
if ! curl -L -o /opt/zapret.installer/zapret.binaries/zapret/zapret-v71.1.1.tar.gz https://github.com/bol-van/zapret/releases/download/v71.1.1/zapret-v71.1.1.tar.gz; then
|
||||
rm -rf /opt/zapret /tmp/zapret
|
||||
error_exit "не удалось получить релиз запрета."
|
||||
fi
|
||||
echo "Получение запрета завершено."
|
||||
if ! tar -xzf /opt/zapret.installer/zapret.binaries/zapret/zapret-v71.1.1.tar.gz -C /opt/zapret.installer/zapret.binaries/zapret/; then
|
||||
rm -rf /opt/zapret.installer/
|
||||
error_exit "не удалось разархивировать архив с релизом запрета."
|
||||
fi
|
||||
cp -r /opt/zapret.installer/zapret.binaries/zapret/zapret-v71.1.1/binaries/ /opt/zapret/binaries
|
||||
|
||||
cd /opt/zapret
|
||||
sed -i '238s/ask_yes_no N/ask_yes_no Y/' /opt/zapret/common/installer.sh
|
||||
yes "" | ./install_easy.sh
|
||||
|
||||
320
files/menu.sh
320
files/menu.sh
@@ -2,119 +2,235 @@
|
||||
|
||||
|
||||
main_menu() {
|
||||
while true; do
|
||||
clear
|
||||
check_zapret_status
|
||||
check_zapret_exist
|
||||
echo -e "\e[1;36m╔════════════════════════════════════════════╗"
|
||||
echo -e "║ ⚙️ Меню управления Запретом ║"
|
||||
echo -e "╚════════════════════════════════════════════╝\e[0m"
|
||||
if [[ SYSTEM != openwrt ]]; then
|
||||
while true; do
|
||||
clear
|
||||
check_zapret_status
|
||||
check_zapret_exist
|
||||
echo -e "\e[1;36m╔════════════════════════════════════════════╗"
|
||||
echo -e "║ ⚙️ Меню управления Запретом ║"
|
||||
echo -e "╚════════════════════════════════════════════╝\e[0m"
|
||||
|
||||
if [[ $ZAPRET_ACTIVE == true ]]; then
|
||||
echo -e " \e[1;32m✔️ Запрет запущен\e[0m"
|
||||
else
|
||||
echo -e " \e[1;31m❌ Запрет выключен\e[0m"
|
||||
fi
|
||||
if [[ $ZAPRET_ACTIVE == true ]]; then
|
||||
echo -e " \e[1;32m✔️ Запрет запущен\e[0m"
|
||||
else
|
||||
echo -e " \e[1;31m❌ Запрет выключен\e[0m"
|
||||
fi
|
||||
|
||||
if [[ $ZAPRET_ENABLED == true ]]; then
|
||||
echo -e " \e[1;32m🔁 Запрет в автозагрузке\e[0m"
|
||||
else
|
||||
echo -e " \e[1;33m⏹️ Запрет не в автозагрузке\e[0m"
|
||||
fi
|
||||
if [[ $ZAPRET_ENABLED == true ]]; then
|
||||
echo -e " \e[1;32m🔁 Запрет в автозагрузке\e[0m"
|
||||
else
|
||||
echo -e " \e[1;33m⏹️ Запрет не в автозагрузке\e[0m"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
if [[ $ZAPRET_EXIST == true ]]; then
|
||||
echo -e " \e[1;33m1)\e[0m 🔄 Проверить на обновления и обновить"
|
||||
echo -e " \e[1;36m2)\e[0m ⚙️ Сменить конфигурацию запрета"
|
||||
echo -e " \e[1;35m3)\e[0m 🛠️ Управление сервисом запрета"
|
||||
echo -e " \e[1;31m4)\e[0m 🗑️ Удалить Запрет"
|
||||
echo -e " \e[1;34m5)\e[0m 🚪 Выйти"
|
||||
else
|
||||
echo -e " \e[1;32m1)\e[0m 📥 Установить Запрет"
|
||||
echo -e " \e[1;36m2)\e[0m 📜 Проверить скрипт на обновления"
|
||||
echo -e " \e[1;34m3)\e[0m 🚪 Выйти"
|
||||
fi
|
||||
if [[ $ZAPRET_EXIST == true ]]; then
|
||||
echo -e " \e[1;33m1)\e[0m 🔄 Проверить на обновления и обновить"
|
||||
echo -e " \e[1;36m2)\e[0m ⚙️ Сменить конфигурацию запрета"
|
||||
echo -e " \e[1;35m3)\e[0m 🛠️ Управление сервисом запрета"
|
||||
echo -e " \e[1;31m4)\e[0m 🗑️ Удалить Запрет"
|
||||
echo -e " \e[1;34m5)\e[0m 🚪 Выйти"
|
||||
else
|
||||
echo -e " \e[1;32m1)\e[0m 📥 Установить Запрет"
|
||||
echo -e " \e[1;36m2)\e[0m 📜 Проверить скрипт на обновления"
|
||||
echo -e " \e[1;34m3)\e[0m 🚪 Выйти"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "\e[1;96m✨ Сделано с любовью 💙\e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
|
||||
echo ""
|
||||
echo ""
|
||||
echo -e "\e[1;96m✨ Сделано с любовью 💙\e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
|
||||
echo ""
|
||||
|
||||
if [[ $ZAPRET_EXIST == true ]]; then
|
||||
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
|
||||
case "$CHOICE" in
|
||||
1) update_zapret_menu;;
|
||||
2) change_configuration;;
|
||||
3) toggle_service;;
|
||||
4) uninstall_zapret;;
|
||||
5) $TPUT_E; exit 0;;
|
||||
*) echo -e "\e[1;31m❌ Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
|
||||
esac
|
||||
else
|
||||
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
|
||||
case "$CHOICE" in
|
||||
1) install_zapret; main_menu;;
|
||||
2) update_script;;
|
||||
3) tput rmcup; exit 0;;
|
||||
*) echo -e "\e[1;31m❌ Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
if [[ $ZAPRET_EXIST == true ]]; then
|
||||
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
|
||||
case "$CHOICE" in
|
||||
1) update_zapret_menu;;
|
||||
2) change_configuration;;
|
||||
3) toggle_service;;
|
||||
4) uninstall_zapret;;
|
||||
5) $TPUT_E; exit 0;;
|
||||
*) echo -e "\e[1;31m❌ Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
|
||||
esac
|
||||
else
|
||||
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
|
||||
case "$CHOICE" in
|
||||
1) install_zapret; main_menu;;
|
||||
2) update_script;;
|
||||
3) tput rmcup; exit 0;;
|
||||
*) echo -e "\e[1;31m❌ Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
else
|
||||
while true; do
|
||||
clear
|
||||
check_zapret_status
|
||||
check_zapret_exist
|
||||
echo -e "\e[1;36m╔════════════════════════════════════════════╗"
|
||||
echo -e "║ Меню управления Запретом ║"
|
||||
echo -e "╚════════════════════════════════════════════╝\e[0m"
|
||||
|
||||
if [[ $ZAPRET_ACTIVE == true ]]; then
|
||||
echo -e " \e[1;32m Запрет запущен\e[0m"
|
||||
else
|
||||
echo -e " \e[1;31m Запрет выключен\e[0m"
|
||||
fi
|
||||
|
||||
if [[ $ZAPRET_ENABLED == true ]]; then
|
||||
echo -e " \e[1;32m Запрет в автозагрузке\e[0m"
|
||||
else
|
||||
echo -e " \e[1;33m Запрет не в автозагрузке\e[0m"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
if [[ $ZAPRET_EXIST == true ]]; then
|
||||
echo -e " \e[1;33m1)\e[0m Проверить на обновления и обновить"
|
||||
echo -e " \e[1;36m2)\e[0m Сменить конфигурацию запрета"
|
||||
echo -e " \e[1;35m3)\e[0m Управление сервисом запрета"
|
||||
echo -e " \e[1;31m4)\e[0m Удалить Запрет"
|
||||
echo -e " \e[1;34m5)\e[0m Выйти"
|
||||
else
|
||||
echo -e " \e[1;32m1)\e[0m Установить Запрет"
|
||||
echo -e " \e[1;36m2)\e[0m Проверить скрипт на обновления"
|
||||
echo -e " \e[1;34m3)\e[0m Выйти"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "\e[1;96m Сделано с любовью \e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
|
||||
echo ""
|
||||
|
||||
if [[ $ZAPRET_EXIST == true ]]; then
|
||||
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
|
||||
case "$CHOICE" in
|
||||
1) update_zapret_menu;;
|
||||
2) change_configuration;;
|
||||
3) toggle_service;;
|
||||
4) uninstall_zapret;;
|
||||
5) $TPUT_E; exit 0;;
|
||||
*) echo -e "\e[1;31m Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
|
||||
esac
|
||||
else
|
||||
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
|
||||
case "$CHOICE" in
|
||||
1) install_zapret; main_menu;;
|
||||
2) update_script;;
|
||||
3) tput rmcup; exit 0;;
|
||||
*) echo -e "\e[1;31m Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
change_configuration() {
|
||||
while true; do
|
||||
clear
|
||||
cur_conf
|
||||
cur_list
|
||||
if [[ SYSTEM != openwrt ]]; then
|
||||
while true; do
|
||||
clear
|
||||
cur_conf
|
||||
cur_list
|
||||
|
||||
echo -e "\e[1;36m╔══════════════════════════════════════════════╗"
|
||||
echo -e "║ ⚙️ Управление конфигурацией Запрета ║"
|
||||
echo -e "╚══════════════════════════════════════════════╝\e[0m"
|
||||
echo -e " \e[1;33m📌 Используемая стратегия:\e[0m \e[1;32m$cr_cnf\e[0m"
|
||||
echo -e " \e[1;33m📜 Используемый хостлист:\e[0m \e[1;32m$cr_lst\e[0m"
|
||||
echo ""
|
||||
echo -e " \e[1;34m1)\e[0m 🔁 Сменить стратегию"
|
||||
echo -e " \e[1;34m2)\e[0m 📄 Сменить лист обхода"
|
||||
echo -e " \e[1;34m3)\e[0m ➕ Добавить IP или домены в лист"
|
||||
echo -e " \e[1;34m4)\e[0m ➖ Удалить IP или домены из листа"
|
||||
echo -e " \e[1;34m5)\e[0m 🔍 Найти IP или домены в листе"
|
||||
echo -e " \e[1;31m6)\e[0m 🚪 Выйти в меню"
|
||||
echo ""
|
||||
echo -e "\e[1;96m✨ Сделано с любовью 💙\e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
|
||||
echo ""
|
||||
echo -e "\e[1;36m╔══════════════════════════════════════════════╗"
|
||||
echo -e "║ ⚙️ Управление конфигурацией Запрета ║"
|
||||
echo -e "╚══════════════════════════════════════════════╝\e[0m"
|
||||
echo -e " \e[1;33m📌 Используемая стратегия:\e[0m \e[1;32m$cr_cnf\e[0m"
|
||||
echo -e " \e[1;33m📜 Используемый хостлист:\e[0m \e[1;32m$cr_lst\e[0m"
|
||||
echo ""
|
||||
echo -e " \e[1;34m1)\e[0m 🔁 Сменить стратегию"
|
||||
echo -e " \e[1;34m2)\e[0m 📄 Сменить лист обхода"
|
||||
echo -e " \e[1;34m3)\e[0m ➕ Добавить IP или домены в лист"
|
||||
echo -e " \e[1;34m4)\e[0m ➖ Удалить IP или домены из листа"
|
||||
echo -e " \e[1;34m5)\e[0m 🔍 Найти IP или домены в листе"
|
||||
echo -e " \e[1;31m6)\e[0m 🚪 Выйти в меню"
|
||||
echo ""
|
||||
echo -e "\e[1;96m✨ Сделано с любовью 💙\e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
|
||||
echo ""
|
||||
|
||||
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
|
||||
case "$CHOICE" in
|
||||
1) configure_zapret_conf ;;
|
||||
2) configure_zapret_list ;;
|
||||
3) add_to_zapret ;;
|
||||
4) delete_from_zapret ;;
|
||||
5) search_in_zapret ;;
|
||||
6) main_menu ;;
|
||||
*) echo -e "\e[1;31m❌ Неверный ввод! Попробуйте снова.\e[0m"; sleep 2 ;;
|
||||
esac
|
||||
done
|
||||
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
|
||||
case "$CHOICE" in
|
||||
1) configure_zapret_conf ;;
|
||||
2) configure_zapret_list ;;
|
||||
3) add_to_zapret ;;
|
||||
4) delete_from_zapret ;;
|
||||
5) search_in_zapret ;;
|
||||
6) main_menu ;;
|
||||
*) echo -e "\e[1;31m❌ Неверный ввод! Попробуйте снова.\e[0m"; sleep 2 ;;
|
||||
esac
|
||||
done
|
||||
else
|
||||
while true; do
|
||||
clear
|
||||
cur_conf
|
||||
cur_list
|
||||
|
||||
echo -e "\e[1;36m╔══════════════════════════════════════════════╗"
|
||||
echo -e "║ Управление конфигурацией Запрета ║"
|
||||
echo -e "╚══════════════════════════════════════════════╝\e[0m"
|
||||
echo -e " \e[1;33m Используемая стратегия:\e[0m \e[1;32m$cr_cnf\e[0m"
|
||||
echo -e " \e[1;33m Используемый хостлист:\e[0m \e[1;32m$cr_lst\e[0m"
|
||||
echo ""
|
||||
echo -e " \e[1;34m1)\e[0m Сменить стратегию"
|
||||
echo -e " \e[1;34m2)\e[0m Сменить лист обхода"
|
||||
echo -e " \e[1;34m3)\e[0m Добавить IP или домены в лист"
|
||||
echo -e " \e[1;34m4)\e[0m Удалить IP или домены из листа"
|
||||
echo -e " \e[1;34m5)\e[0m Найти IP или домены в листе"
|
||||
echo -e " \e[1;31m6)\e[0m Выйти в меню"
|
||||
echo ""
|
||||
echo -e "\e[1;96m Сделано с любовью \e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
|
||||
echo ""
|
||||
|
||||
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
|
||||
case "$CHOICE" in
|
||||
1) configure_zapret_conf ;;
|
||||
2) configure_zapret_list ;;
|
||||
3) add_to_zapret ;;
|
||||
4) delete_from_zapret ;;
|
||||
5) search_in_zapret ;;
|
||||
6) main_menu ;;
|
||||
*) echo -e "\e[1;31m Неверный ввод! Попробуйте снова.\e[0m"; sleep 2 ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
update_zapret_menu(){
|
||||
while true; do
|
||||
clear
|
||||
echo -e "\e[1;36m╔════════════════════════════════════╗"
|
||||
echo -e "║ 🔄 Обновление Запрета ║"
|
||||
echo -e "╚════════════════════════════════════╝\e[0m"
|
||||
echo -e " \e[1;33m1)\e[0m 🔧 Обновить \e[33mzapret и скрипт\e[0m \e[2m(не рекомендуется)\e[0m"
|
||||
echo -e " \e[1;32m2)\e[0m 📜 Обновить только \e[32mскрипт\e[0m"
|
||||
echo -e " \e[1;31m3)\e[0m 🚪 Выйти в меню"
|
||||
echo ""
|
||||
echo -e "\e[1;96m✨ Сделано с любовью 💙\e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
|
||||
echo ""
|
||||
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
|
||||
case "$CHOICE" in
|
||||
1) update_zapret;;
|
||||
2) update_installed_script;;
|
||||
3) main_menu;;
|
||||
*) echo -e "\e[1;31m❌ Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
if [[ SYSTEM != openwrt ]]; then
|
||||
while true; do
|
||||
clear
|
||||
echo -e "\e[1;36m╔════════════════════════════════════╗"
|
||||
echo -e "║ 🔄 Обновление Запрета ║"
|
||||
echo -e "╚════════════════════════════════════╝\e[0m"
|
||||
echo -e " \e[1;33m1)\e[0m 🔧 Обновить \e[33mzapret и скрипт\e[0m \e[2m(не рекомендуется)\e[0m"
|
||||
echo -e " \e[1;32m2)\e[0m 📜 Обновить только \e[32mскрипт\e[0m"
|
||||
echo -e " \e[1;31m3)\e[0m 🚪 Выйти в меню"
|
||||
echo ""
|
||||
echo -e "\e[1;96m✨ Сделано с любовью 💙\e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
|
||||
echo ""
|
||||
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
|
||||
case "$CHOICE" in
|
||||
1) update_zapret;;
|
||||
2) update_installed_script;;
|
||||
3) main_menu;;
|
||||
*) echo -e "\e[1;31m❌ Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
|
||||
esac
|
||||
done
|
||||
else
|
||||
while true; do
|
||||
clear
|
||||
echo -e "\e[1;36m╔════════════════════════════════════╗"
|
||||
echo -e "║ Обновление Запрета ║"
|
||||
echo -e "╚════════════════════════════════════╝\e[0m"
|
||||
echo -e " \e[1;32m1)\e[0m Обновить \e[32mскрипт\e[0m"
|
||||
echo -e " \e[1;31m2)\e[0m Выйти в меню"
|
||||
echo ""
|
||||
echo -e "\e[1;96m Сделано с любовью \e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
|
||||
echo ""
|
||||
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
|
||||
case "$CHOICE" in
|
||||
1) update_installed_script;;
|
||||
2) main_menu;;
|
||||
*) echo -e "\e[1;31m Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -70,4 +70,4 @@ try_again() {
|
||||
done
|
||||
|
||||
(( success == 0 )) && error_exit "$error_message"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user