#!/bin/bash -c
clear
NOW_STEP=0 # текущий шаг, на всякий обнуляю
NAME_STEP="" # обнуляем на всякий
LAST_STEP=0 # Последний удачный шаг, все до него пропустятся, берется потом с БД
FULL_STEP=$(($(egrep "step_start .+" $(pwd)/$0 | wc -l )-2)) # Всего шагов сейчас считается просто сколькораз упоминается он в файле -2, в проадкшене по другому.
function step_start {
((NOW_STEP++)) # добавляем единичку
NAME_STEP=$3 # сохраняем в переменную чтоб вторая функция его видела
if [[ "$NOW_STEP" -gt "$LAST_STEP" ]]; then # Больше последнего удачного
$1
if [ $? -eq $2 ]; then #Если код завершение комакнды до этой функуции равен 2 значению функции"
if [[ "$LAST_STEP" -lt "$NOW_STEP" ]]; then #Проверяем не больше ли ласт степ текущего, для валидного скипа
LAST_STEP=$NOW_STEP # добавляем удачный шаг
echo -e "\033[32m[OK]\033[0m Successfully installed step $NOW_STEP"
fi
else
echo -e "\e[1;31m[WARNING]\e[0m, Scrypt stoped on step $NOW_STEP " >&2
exit 1
fi
else
echo -e "\e[1;34m[STEP SKIP]\e[0m Step ${NOW_STEP} already completed "
fi
sleep 1
}
#############################################################################################
# Тути начинается скрипт инсталяции #
#############################################################################################
function step_1 {
sudo apt-get update -y
тут любое количество любого мусора с любыми симвалами
}
function step_2 {
sudo timedatectl set-ntp on
}
function step_3 {
sudo mkdir -p /var/lib/jwtsecret
}
function step_4 {
cd ~
}
function step_5 {
rm validator
}
#step_start '{FUNCTION_STEP}' "{TRUE_END_CODE}" "{DESCRYPTION}"
step_start 'step_1' "0" "Проверка есть ли кошелек"
step_start 'step_2' "0" "Обновление репозиториев"
step_start 'step_3' "0" "Ставится curl"
step_start 'step_4' "0" "NAME 1"
step_start 'step_5' "0" "NAME 1"
RewriteEngine On
# включается редирект
RewriteCond %{REQUEST_FILENAME} !-f
#если это не файл
RewriteCond %{REQUEST_FILENAME} !-d
# и если это не директория
RewriteRule (.*) /index.php [L,QSA]
mysql -u{user} -p'212121212' dbname < dump.sql
'
докускается в пароле то по хорошему нужно вообще делать это через eval
:) и это единственный способ гарантированно ввести пароль. .htaccess