Если вы хотите использовать параметры внутри вашего скрипта (основываясь на комментариях выше, 'domain' и 'sitealias'), используйте '$ 1' '$ 2', чтобы захватить их
domain=$1
sitealias=$2
# Fixed quoting of pwgen)
MOREF=$(pwgen 14 1)
# Rest of the script here, using $domain, $sitealias
echo $MOREF is SQL password.
mkdir /var/www/"$domain"
Это не полностьюУкажите, какое значение вы хотите присвоить APACHE_LOG_DIR.Предполагая, что эта переменная должна быть разрешена во время выполнения на основе значения по умолчанию Apache, вы хотите использовать одинарную кавычку вместо двойной кавычки для оператора 'echo'.Это задержит разрешение этой переменной.
echo '<VirtualHost *:80>
ServerName myblog.example.com
ServerAdmin webmaster@example.com
DocumentRoot /usr/share/wordpress
# Lines removed for
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
' > /etc/apache2/sites-available/$domain.conf
Кроме того, рассмотрите двойные кавычки для команды установки mysqladmin.Используйте двойные кавычки, чтобы включить подстановку переменных, Используйте одинарные кавычки, когда это необходимо для mysql.
mysqladmin -u root password supersecretpassword "create wp_$sitealias"
mysqladmin -u root password supersecretpassword "CREATE USER '$sitealias'@'localhost' IDENTIFIED BY '$MOREF'";
mysqladmin -u root password supersecretpassword "GRANT ALL PRIVILEGES ON wp_$sitealias.* TO '$sitealias'@'localhost';"
FLUSH PRIVILEGES;
quit