我編寫了一個腳本來自動將ServerAlias添加到Apache配置文件中,然後重新啓動Apache,並對sed
和tr
以及可能的shell腳本進行了補救。這是我想出了:優化sed/tr外殼腳本
cp /etc/httpd/sites/site.conf tmphost &&
sed s/ServerName\ site.com/ServerName\ site.com^#ServerAlias\ sub.site.com/ \
tmphost |
tr '^#' '\n\t' >/etc/httpd/sites/site.conf &&
rm -f tmphost &&
apachectl restart
基本上我創建副本,用自身替換服務器名行+新的別名,使用tr
放於新行和標籤(sed
當時正在怪異有關?),覆蓋舊的配置文件,刪除副本,然後重新啓動Apache。
它的作品,但並不真正讓媽媽感到驕傲,如果你明白我的意思。任何關於如何清理的想法?
在另一方面,這是什麼'sed的-i'與臨時文件做,如果它中止出於某種原因?它是否清理臨時文件?最好避免'-i'。 –
我只是用'sed -i.bak'/ ServerName site.com/a \ ServerAlias sub.site.com'/ etc/httpd/sites/site.conf'工作。注意我必須刪除附件才能工作。 – Osan
道歉 - 我會解決答案。 –