2016-07-25 18 views
1

Ich richte einen Amazon Web Service Stack ein und ich möchte das Document Root in /etc/apache2/sites-enabled/000-default.conf konfigurieren, was ich gerade durch Änderung mache DocumentRoot des Dokuments. Ich reflektiere dann diese Änderung in /etc/apache2/apache2.conf. Ist es möglich, diese Änderungen über Befehlszeilen vorzunehmen, anstatt Dateien zu öffnen und zu bearbeiten? Danke im Voraus.Dokumentstamm mit Befehlszeilen ändern

+0

Ja, Sie müssen einen Befehlszeilen-Editor verwenden, um die Datei wie "Nano" zu bearbeiten – error2007s

Antwort

0

Sie können es mit sed tun. Ich verwende folgenden Wrapper-Funktion, um es bequemer:

replace_string() { 
    while :; do 
     case $1 in 
       file=?*) local file=${1#*=} ;; 
      replace=?*) local replace=${1#*=} ;; 
       with=?*) local with=${1#*=} ;; 
        *) break     ;; 
     esac 
     shift 
    done 

    sudo sed -i -- "s/$replace/$with/ig" $file 
} 

replace_string file='/etc/apache2/sites-enabled/000-default.conf' \ 
       replace='.*DocumentRoot.*' \ 
        with='DocumentRoot path-to-your-document-root' 


replace_string file='/etc/apache2/apache2.conf' \ 
       replace='.*DocumentRoot.*' \ 
        with='DocumentRoot "path-to-your-document-root"' 

Geist, den Benutzer dieses Skript ausgeführt wird, soll ohne Passwort verwendet sudo fähig sein.