Fórum Root.cz

Hlavní témata => Server => Téma založeno: pokus 16. 01. 2015, 12:23:25

Název: Automatické zakomentování určitých direktiv v .htaccessu
Přispěvatel: pokus 16. 01. 2015, 12:23:25
Dobrý den,

snařím se v bashi napsat skript, kterž by prošel rekurzivně všechny adresáře, našel v nich .htaccessy a zakomentoval by nepovolené direkrivy. Skript  už i +/- funguje, ale protože používám příkaz read pro čtení .htaccessu a zakomentování direktiv je to návhylné na správné ukončení souboru tzn. prázdný řádek na konci souboru. Pokud je soubor ukončen za koncem textu tak se poslední řátek neuloží do nového htaccessu. Má otázka zní, exstuje nějaký ekvivalentní příkaz k read, který by četl soubor po řádcích a nehleděl na ukončovací znaky?? Děkuji

for i in $(find $TMPDIR -iname ".htaccess")
do
    while read line           
    do           
        echo -e "$line" | sed 's/Options -Indexes/\#Options -Indexes/' | sed 's/php_flag engine on/\#php_flag engine on/' | sed 's/php_flag engine off/\#php_flag engine off/' >>$TMPDIR/../.htaccess_tmp
    done <$i
    mv $TMPDIR/../.htaccess_tmp $i

done
Název: Re:Automatické zakomentování určitých direktiv v .htaccessu
Přispěvatel: poustevnik 16. 01. 2015, 12:33:32
co takhle tam na začátku ten konec řádku natvrdo přidat?

echo >> .htaccess
Název: Re:Automatické zakomentování určitých direktiv v .htaccessu
Přispěvatel: Jakub Galgonek 16. 01. 2015, 12:42:06
Zkus tohle:

Kód: [Vybrat]
find "$TMPDIR" -iname ".htaccess" |
while read FILE; do
    sed -i -r 's/(Options -Indexes|php_flag engine (on|off))/#\1/' "$FILE"
done
Název: Re:Automatické zakomentování určitých direktiv v .htaccessu
Přispěvatel: pokus 16. 01. 2015, 13:13:33
Dobrý den,

použil jsemdruhou radu a funguje to. Děkuji za super nápad.
Název: Re:Automatické zakomentování určitých direktiv v .htaccessu
Přispěvatel: David1234 16. 01. 2015, 14:18:06
Možná by to šlo ještě trošku vylepšit použitím -exec přímo v příkazu find.
Název: Re:Automatické zakomentování určitých direktiv v .htaccessu
Přispěvatel: pokus 16. 01. 2015, 14:38:31
Dobrý den,

ještě bych chtěl kromě úpravy .htaccessu přidat do složky tmp upravený bigdump. Tzn, prošel bych celý bigdump.php pomocí bashe a našel a upravil toto:

$db_name     = '';
$db_username = '';
$db_password = '';

Pokoušel jsem se upravit předchozí příklad z .htaccessem, ale nedaří se mi dobře "escapovat" znaky jako $ ''; abych mohl dovnitř úvozovek vložit hodnoty. Poradíte mi?
Děkuji
Název: Re:Automatické zakomentování určitých direktiv v .htaccessu
Přispěvatel: e3k 16. 01. 2015, 18:09:16
pouzi \