Ubuntu

是否可以通過 bash 腳本自動更新 php.ini?

  • November 9, 2013

我正在嘗試編寫安裝腳本,我需要更改 php.ini 中的 sendmail 行

但我想自動執行此操作

目前我正在手動執行此操作:

  • 須藤納米/etc/php5/apache2/php.ini
  • 找到包含 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

這是您對sed 命令work by word的請求的翻譯:

  • 打開文件/etc/php5/apache2/php.ini
  • 找到包含sendmail_path(之前沒有 havin char ;)的行
  • 從符號=到行尾替換為= /usr/bin/msmtp -t

警告 -i意味著就地修改。使用它會修改你的php.ini(並創建一個php.ini.bak

僅供嘗試,請勿使用-i開關:

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

引用自:https://serverfault.com/questions/551854