Ha jól hiszem, L.G. írta az alábbiakat:
> # miert nem adsz egy sample valami.txt-t, es irod le korrektul, h miben #
> kell megirni, akkor lehet h 10 perc mulva kapnal kesz megoldast... sample:
> echo "Terem:" ; read tsz
> echo -e "\nNap:" ; read w
> echo -e "\nkezdő idő:" ; read ki
> echo -e "\nlejárati idő:" ; read li
> echo -e "acl $d time $w $ki-$li\nhttp_access allow $tsz $d\n" > ok
> awk '{print >> "ok.txt"}' ok #(ez itt =re felesleges mivel nem jöttem rá a
> megoldásra)Szemlátomást egy squid.conf-ot akarsz előállítani. Gondolom, a $d a kulcsmező, az acl neve. cp squid.conf squid.conf.orig # $d acl módosítása a $w, $ki, $li és $tsz alapján # persze a $d acl-nek léteznie kell cat squid.conf.orig | sed "s/^acl $d time .*/acl $d time $w $ki-$li/" | sed "s/^http_access allow .* $d$/http_access allow $tsz $d/" > squid.conf De én igazából nem így csinálnám, hanem lenne egy scriptem, ami egy teljesen más szerkezetű (áttekinthetőbb, logikusabb) fájlba írná az adatokat, amiből egy másik, egyszerűbb script generálná le a squid.conf fájlt. #data.txt #d w ki li tsz acl01 13 13:00 13:45 307 acl02 15 13:14 14:00 108 #!/bin/bash cd /etc/squid cat squid.conf.base > squid.conf cat data.txt | while read d w ki li tsz do echo "acl $d time $w $ki-$li" >> squid.conf echo "http_access allow $tsz $d" >> squid.conf done /etc/init.d/squid reload A másik script meg lehet ilyesmi: #!/bin/sh # A d, w, ki, li, tsz beolvasását hadd ne írjam ide cd /etc/squid cat data.txt > data.txt.bak cat data.txt.bak | grep -v "^$d " > data.txt # <- ez kiszedi ugyanazt az acl-t, ha már volt echo -e "$d\t$w\t$ki\t$li\t$tsz" >> data.txt # hozzáírom az új szabályt itt meg meghívod a másik scriptet. -- PTG Never trust a computer you can't repair yourself. Debian 3.0 -- Linux 2.6.14.3 _________________________________________________ linux lista - [email protected] http://mlf2.linux.rulez.org/mailman/listinfo/linux
