Bash скрипт добавление нового сайта. Проблема с проверкой условий
Всем привет. Решил написать небольшой скрипт на автоматическое прописывание нового сайта в лампе и столкнулся в проблеме модуля проверки.
#!/bin/sh
# Добавление сайта в систему
clear
echo "Введите название сайта"
read p1
echo '\n'
sudo mkdir -p /var/www/$p1 && sudo chown -R www-data:www-data /var/www/$p1 && sudo find /var/www/$p1 -type d -exec chmod 777 {} \;
echo "<VirtualHost *:80>
ServerAdmin admin@$p1
ServerName $p1
ServerAlias www.$p1
DocumentRoot /var/www/$p1
ErrorLog \${APACHE_LOG_DIR}/error.log
CustomLog \${APACHE_LOG_DIR}/access.log combined
</VirtualHost>" | sudo tee /etc/apache2/sites-available/$p1.conf > /dev/null
echo "127.0.0.1 $p1" | sudo tee -a /etc/hosts > /dev/null
echo '\n'
var=$(sudo a2ensite $p1.conf)
c="Enabling site $p1. To activate the new configuration, you need to run: systemctl reload apache2"
if [[ "$var" == "$c" ]]; then
echo "Верно"
else
echo "Не верно"
fi
в конце скрипт должен проверять вывод команды sudo a2ensite $p1.conf и если вывод равен значению переменной с то все гуд. Я уже выводил и эхом значения для проверки и засовывал в файл для просмотра. Значения для нового сайта идентичны с переменной с. Пытался ограничить двоеточие в тексте но результата не дало.
нашел для себя пару решений
var=$(sudo a2ensite $p1.conf) > 123.txt
if grep -q "Enabling site $p1. To activate the new configuration, you need to run: systemctl reload apache2" 123.txt; then
здесь просто загоняю вывод в файл и беру с него инфу
или
if [[ "$var" == *"To activate the new configuration, you need to run":""* ]]; then
Поиск по части фразы.
Пытался полную фразу ввести но после двоеточия начинаются проблемы
также делал через $?
Как по мне это костыль и хочется разобраться с первым вариантом. Почему идет не корректное сравнение переменных.