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

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

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

但我想自动执行此操作

目前我正在手动执行此操作:

  • sudo nano /etc/php5/apache2/php.ini
  • 找到包含 sendmail_path = 的行
  • 然后将其编辑为
  • sendmail_path = /usr/bin/msmtp -t

然后保存文件。

是否可以仅通过自动脚本来进行更改?

多谢

答案1

使用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
  • sendmail_path找到包含(前面没有字符;)的行
  • 将从符号=到行尾的部分替换为= /usr/bin/msmtp -t

警告 -i意思是就地修改. 使用此项将修改您的php.ini(并创建一个php.ini 文件

为了仅尝试,不要使用-i开关:

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

相关内容