我想更改apache2 web服务器的默认Web根文件夹,但是通过我正在制作的脚本中的命令行。
我知道通过nano / vim进行操作,然后转到该行并手动更改它,但我想通过命令行进行操作。
我虽然有点像(语法错误 - 我知道 - 只是为了说明我的观点):
vim /etc/apache2/sites-enabled/000-default.conf | find 'DocumentRoot /var/www' | replace 'DocumentRoot /var/www/myFolder'
也许不是vim而是其他? 有什么想法吗?
由于
答案 0 :(得分:1)
You should use sed
with the substitute command for that kind of operation.
http://www.grymoire.com/Unix/Sed.html#uh-0
我手头没有unix机器但是这样的东西应该可以工作(使用#而不是通常的/作为分隔符):
sed 's#/var/www#/var/www/MyFolder#' /etc/apache2/sites-enabled/000-default.conf
即使这不是你的问题,因为你的初始问题提到了Vim,你也可以在Vim里面使用替代
像
:%s #/var/war#/var/www/MyFolder#g
% means search in the whole file
g means globally : it will replace multiple instance if the string is found multiple times
答案 1 :(得分:1)
将sed与参数-i
一起使用。
sed -i 's-/var/www-&/MyFolder-' /etc/apache2/sites-enabled/000-default.conf
参数-i
启用就地编辑。