Я все время получаю эту ошибку, вы знаете, что не так?
rapache
это псевдоним для перезапуска apache
mugbear:/usr/bin# cat /usr/bin/mkdomain
if [ -d "/srv/www/$1" ]; then
echo "Domain $1 already exists!"
else
mkdir -p /srv/www/$1/public_html
mkdir -p /srv/www/$1/logs
cat >> /etc/apache2/sites-available/"$1" << EOF
<VirtualHost removed:80>
ServerAdmin support@$1
ServerName $1
ServerAlias www.$1
DocumentRoot /srv/www/$1/public_html/
ErrorLog /srv/www/$1/logs/error.log
CustomLog /srv/www/$1/logs/access.log combined
</VirtualHost>
EOF
a2ensite $1
rapache
fi
mugbear:/usr/bin# mkdomain test.com
/usr/bin/mkdomain: line 19: syntax error: unexpected end of file
someFile <<EOF
...
EOF
работает
someFile <<EOF
...
EOF
не будет работать
someFile <<-EOF
...
EOF
работает
Видеть 'мужик'и Справочное руководство по Bash, раздел «3.6.6 Здесь документы» для подробностей о <<-EOF
. Обратите внимание, что отступ терминатора heredoc должен делаться с использованием табуляции, а не пробелов.
Ваш heredoc никогда не заканчивается, так как терминатор не находится в начале строки.