sed php.ini memory_limit
The following works great:
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
If the memory_limit is set to 16M, but I've found that in some distributions it doesn't default to 16M, but instead will default to 32M. So my question is how to I have SED account for that and replace whatever the number is to ${phpmemory_limit}?
you can use regexp - for instance:
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
Assuming that:
- Values will always be specified in Mb.
- You wish to preserve trailing comments.
- You don't wish to modify any commented occurances.
-
phpmemory_limit
only contains an integer.sed -ri 's/^(memory_limit = )[0-9]+(M.*)$/\1'${phpmemory_limit}'\2/' /etc/php5/apache2/php.ini
This uses..
- Backreferences to shorten the regex and preserve the comment.
-
sed
s extended regex support. - It's important that the shortened options are specified in that order, otherwise it will create a backup with the file extension
r
.