是否有可能通过bash脚本自动更新php.ini?

我正在尝试编写一个安装脚本,我需要在php.ini中更改sendmail行

但我想自动执行此操作

此刻我正在手动执行此操作:

  • sudo nano /etc/php5/apache2/php.ini
  • find包含sendmail_path =的行
  • 然后编辑它
  • sendmail_path = / usr / bin / msmtp -t

然后保存该文件。

是否有可能只是自动脚本来做出改变?

非常感谢

使用sed

 sed -e '/^[^;]*sendmail_path/s/=.*$/= \/usr\/bin\/msmtp -t/' -i.bak /etc/php5/apache2/php.ini 

要么

 sudo sed -e '/^[^;]*sendmail_path/s/=.*$/= \/usr\/bin\/msmtp -t/' -i.bak /etc/php5/apache2/php.ini 

这是work by word将您的请求转换为sed命令的工作

  • 打开文件/etc/php5/apache2/php.ini
  • find包含sendmail_path的行(不包括havin char ;之前)
  • = /usr/bin/msmtp -treplace符号=到行尾

警告 – -i意思是就地修改 。 使用这将修改您的php.ini (并创build一个php.ini.bak

仅供试用 ,请勿使用-i开关:

 sed -e '/^[^;]*sendmail_path/s/=.*$/= \/usr\/bin\/msmtp -t/' /etc/php5/apache2/php.ini