From 3b7d90d628f1bccd37b12c8ddc7ab79f728ed57e Mon Sep 17 00:00:00 2001 From: nikk gitanes Date: Thu, 2 Feb 2023 19:48:46 +0300 Subject: [PATCH] change to read from pipe prompts for Mac install script --- installTorrServerMac.sh | 166 +++++++++++++++++++--------------------- 1 file changed, 80 insertions(+), 86 deletions(-) diff --git a/installTorrServerMac.sh b/installTorrServerMac.sh index 18f51f7..1e1b147 100755 --- a/installTorrServerMac.sh +++ b/installTorrServerMac.sh @@ -3,8 +3,8 @@ dirInstall="/Users/Shared/TorrServer" serviceName="torrserver" function getLang() { - lang=$(locale | grep LANG | cut -d= -f2 | tr -d '"' | cut -d_ -f1) - [[ $lang != "ru" ]] && lang="en" + lang=$(locale | grep LANG | cut -d= -f2 | tr -d '"' | cut -d_ -f1) + [[ $lang != "ru" ]] && lang="en" } function checkArch() { @@ -13,7 +13,7 @@ function checkArch() { i686) architecture="386" ;; x86_64) architecture="amd64" ;; aarch64) architecture="arm64" ;; - *) [[ $lang == "en" ]] && { echo ""; echo "Unsupported Arch. Can't continue."; exit 1; } || { echo ""; echo "Не поддерживаемая архитектура. Продолжение невозможно."; exit 1; } ;; + *) [[ $lang == "en" ]] && { echo ""; echo " Unsupported Arch. Can't continue."; exit 1; } || { echo ""; echo " Не поддерживаемая архитектура. Продолжение невозможно."; exit 1; } ;; esac } @@ -40,26 +40,26 @@ function cleanup() { } function uninstall() { - [[ $lang == "en" ]] && { - echo "" - echo "TorrServer install dir - ${dirInstall}" - echo "" - echo "This action will delete TorrServer including all it's torrents, settings and files on path above." - echo "" + [[ $lang == "en" ]] && { + echo "" + echo " TorrServer install dir - ${dirInstall}" + echo "" + echo " This action will delete TorrServer including all it's torrents, settings and files on path above." + echo "" } || { - echo "" - echo "Директория c TorrServer - ${dirInstall}" - echo "" - echo "Это действие удалит все данные TorrServer включая базу данных торрентов и настройки по указанному выше пути." - echo "" + echo "" + echo " Директория c TorrServer - ${dirInstall}" + echo "" + echo " Это действие удалит все данные TorrServer включая базу данных торрентов и настройки по указанному выше пути." + echo "" } - [[ $lang == "en" ]] && printf 'Are you shure you want to delete TorrServer? (Yes/No) ' || printf 'Вы уверены что хотите удалить программу? (Да/Нет) ' - read answer - if [ "$answer" != "${answer#[YyДд]}" ]; then + [[ $lang == "en" ]] && read -p ' Are you shure you want to delete TorrServer? (Yes/No) ' answer_del $dirInstall/$serviceName.plist @@ -147,40 +145,36 @@ function installTorrServer() { EOF - [[ $lang == "en" ]] && printf 'Enable HTTP Authorization? (Yes/No) ' || printf 'Включить авторизацию на сервере? (Да/Нет) ' - read answer - if [ "$answer" != "${answer#[YyДд]}" ]; then + [[ $lang == "en" ]] && read -p ' Enable HTTP Authorization? (Yes/No) ' answer_auth $dirInstall/accs.db } || { echo "" - [[ $lang == "en" ]] && echo "Use ${dirInstall}/accs.db credentials for access" || echo "Используйте реквизиты из ${dirInstall}/accs.db для входа" + [[ $lang == "en" ]] && echo " Use ${dirInstall}/accs.db credentials for access" || echo " Используйте реквизиты из ${dirInstall}/accs.db для входа" echo "" } else sed -i '' -e '/httpauth/d' $dirInstall/$serviceName.plist fi - [[ $lang == "en" ]] && printf 'Add autostart for current user (1) or all users (2)? ' || printf 'Добавить автозагрузку для текушего пользователя (1) или всех (2)? ' - read answer - if [ "$answer" != "${answer#[1]}" ]; then + [[ $lang == "en" ]] && read -p ' Add autostart for current user (1) or all users (2)? ' answer_cu /dev/null 2>&1 fi [[ $lang == "en" ]] && { - echo "" - echo "Autostart service added to ${sysPath}" - echo "" - echo "TorrServer $(getLatestRelease) for ${architecture} Mac installed to ${dirInstall}" - echo "" - echo "You can open browser URL http://localhost:$servicePort for TorrServer setup and use" - echo "" + echo "" + echo " Autostart service added to ${sysPath}" + echo "" + echo " TorrServer $(getLatestRelease) for ${architecture} Mac installed to ${dirInstall}" + echo "" + echo " You can now open browser URL http://localhost:$servicePort to access TorrServer GUI" + echo "" } || { - echo "" - echo "Сервис автозагрузки записан в ${sysPath}" - echo "" - echo "TorrServer $(getLatestRelease) для ${architecture} Mac установлен в ${dirInstall}" - echo "" - echo "Теперь вы можете открыть браузер по адресу http://localhost:$servicePort для его настройки и использования" - echo "" + echo "" + echo " Сервис автозагрузки записан в ${sysPath}" + echo "" + echo " TorrServer $(getLatestRelease) для ${architecture} Mac установлен в ${dirInstall}" + echo "" + echo " Теперь вы можете открыть браузер по адресу http://localhost:$servicePort для доступа к вебу TorrServer" + echo "" } if [[ "$isAuth" == 1 && $isAuthUser > 0 ]]; then - [[ $lang == "en" ]] && echo "Use user \"$isAuthUser\" with password \"$isAuthPass\" for web auth" || echo "Для авторизации введите пользователя $isAuthUser с паролем $isAuthPass" - echo "" + [[ $lang == "en" ]] && echo " Use user \"$isAuthUser\" with password \"$isAuthPass\" for web auth" || echo " Для авторизации введите пользователя $isAuthUser с паролем $isAuthPass" + echo "" fi sleep 60 } while true; do - getLang + getLang echo "" echo "==============================================================" [[ $lang == "en" ]] && echo " TorrServer install, update and uninstall script for MacOS " || echo " Скрипт установки, обновления и удаления TorrServer для MacOS " echo "==============================================================" echo "" - [[ $lang == "en" ]] && read -p "Want to install or update TorrServer? (Yes or No). Enter \"Delete\" to Uninstall TorrServer. " yn || read -p "Хотите установить или обновить TorrServer? (Да|Нет). Для удаления введите «Удалить». " yn - case $yn in - [YyДд]* ) checkArch; installTorrServer; break;; - [DdУу]* ) uninstall; break;; - [NnНн]* ) exit;; - * ) [[ $lang == "en" ]] && { echo ""; echo "Enter \"Yes\", \"No\" or \"Delete\"."; } || { echo ""; echo "Ввведите «Да», «Нет» или «Удалить»."; } ;; + [[ $lang == "en" ]] && read -p " Do You want to install or update TorrServer? (Yes or No). Enter \"Delete\" to Uninstall TorrServer. " ydn