Fórum Root.cz
Hlavní témata => Server => Téma založeno: 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
-
co takhle tam na začátku ten konec řádku natvrdo přidat?
echo >> .htaccess
-
Zkus tohle:
find "$TMPDIR" -iname ".htaccess" |
while read FILE; do
sed -i -r 's/(Options -Indexes|php_flag engine (on|off))/#\1/' "$FILE"
done
-
Dobrý den,
použil jsemdruhou radu a funguje to. Děkuji za super nápad.
-
Možná by to šlo ještě trošku vylepšit použitím -exec přímo v příkazu find.
-
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
-
pouzi \