我正在尝试编写一个安装脚本,我需要更改 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