Следующее отлично работает:
phpmemory_limit=256M #or what ever you want it set to
sed -i 's/memory_limit = 16M/memory_limit = '${phpmemory_limit}'/' /etc/php5/apache2/php.ini
Если memory_limit установлен на 16M, но я обнаружил, что в некоторых дистрибутивах он не по умолчанию равен 16M, а вместо этого будет по умолчанию 32M. Итак, мой вопрос: как мне получить для этого учетную запись SED и заменить любой номер на $ {phpmemory_limit}?
вы можете использовать регулярное выражение - например:
phpmemory_limit=256M #or what ever you want it set to
sed -i 's/memory_limit = .*/memory_limit = '${phpmemory_limit}'/' /etc/php5/apache2/php.ini
При условии, что:
phpmemory_limit
содержит только целое число.
sed -ri 's/^(memory_limit = )[0-9]+(M.*)$/\1'${phpmemory_limit}'\2/' /etc/php5/apache2/php.ini
Это использует ..
sed
s расширенная поддержка регулярных выражений.r
.