Ha, listelerin genel yaklaşımını bildiğim için, ekleyeyim, inotify-tools, netcat vs. bilip güzel güzel kullandığımız şeyler zaten. Mesele, bash ile olmaz değil, python, perl gibi bir dille daha pratik ve kolay olacağı.
2012/5/3 Serdar KÖYLÜ <[email protected]> > bash, bu işlerde genelde en iyi neticeyi ver,r, ama bazen yetmeyebilir. > sorun parse etmekte filan olur. tamam awk, sed filan var ama, karışık > işlerde, soket erişimi filan gerekirse bash zorlaştırabilir bazen. > > benim hipotezim, sistem yönetimi işlerinin %99'unda bash'ın çok daha iyi > netice vereceği yönünde. > > Peki nerde bash işi zorlayabilir? Diyelim bir samba paylaşımına kopyalanan > dosyaları erişim haklarını bir takım kriterlere göre düzenleyeceğimizi > düşünelim. bash ile bunu yapmak bir hayli zor olacaktır. > > Burada o kriterler, değişen sayıda ve grup/kullanıcı vs. gibi hiyerarşik > bir yapıda olabilir, array işleme gerekir, bu bash ile zordur, imkansız > değil. > > Dizinin değişimini poll etmek verimli bir yöntem değildir. > > Ama mesela, python ile, gamin gibi bir inotify/fam uzantısı kullanarak bu > iş çok daha pratik yoldan yapılabilir. > > Bunun gibi nadir bir şeyler ancak bash'ten farklı bir dil gerektirebilir. > Bu işler her durumda gene bash ile halledilebilir ama, bir python burada > çok daha kolay ve esnek olacaktır. > > 2012/5/3 Onur Cem Celebi <[email protected]> > >> Ee peki, bu durumda bash (bourne again shell) için ne söylenir ? Kapsam >> açısından bash ile de epey birşey yapılabiliniyor. Sistem bilen birisi için >> dilin farketmediği görüşü bunun için de aynı mıdır ? ( Detaylı açıklamalar >> her zaman hoş görülür (: ) >> >> >> 30 Nisan 2012 14:26 tarihinde Atıf CEYLAN <[email protected]> yazdı: >> >> ** >>> Hocam ayni seyleri farkli acilardan soyluyoruz. Ozetle ben sistemi bilen >>> biri php,ruby,phyton, perl ne ogrenirse ogrensin isini gorecektir demek >>> istemistim. >>> phyton bilmedigimden dolayi da kendisini oneremiyorum ama perl daha >>> onceki yazdigim ve sizinde bildiginiz nedenlerden dolayi tercih edilebilir >>> diyorum. >>> >>> On Mon, 2012-04-30 at 14:20 +0300, Serdar KÖYLÜ wrote: >>> >>> Bir '$' ve ';' zaten yeterince kafa karıştırıcı. Ama bu gibi örneklerde >>> olayı anlamak daha zor. >>> >>> (a == b) ile ( a === b) arasındaki fark mesela. PHP'nin okunurluğunu >>> azaltan bir şey. Bu bir uygulama yazaan için mevzu değil, fakat sistem >>> yönetici için fazla karışık bir bilgi. >>> >>> Benzer şekilde, x++, ++x gibi hususlarda. Evet, bunlar güzellik ama, >>> kafa karıştıran şeyler. Sistem yönetici seviyesi için bu okunurluğu ciddi >>> şekilde azaltır. >>> >>> Bunlardan PHP'nin kötü, Python'unda basit ve güçsüz olduğu anlamı çıkmaz >>> elbette. Python'da da benzer tripler çok kafa karıştırıcı olabilir: >>> >>> result += "\t" + " ".join(*[str(p) for p in linePoints if p is not None]) + >>> "\n" >>> >>> >>> >>> Python, daha az triple, daha sade yazımla kullanılabilir. Ama asıl >>> gücünü, sistem seviyesi işlevlerde çok daha iyi destek ve hazır kod >>> bulabilmesi ile gösterir. Zaten PHP biliyorsanız, bu sizi sistem scripti >>> yazmaktan geri bırakmaz haliyle, süper de yazarsınız. >>> >>> Ama bence bu işlerin ilacı bash'tır. En iyi neticeyi o verir aslında bu >>> işler için. >>> >>> 2012/4/30 Atıf CEYLAN <[email protected]> >>> >>> On Mon, 2012-04-30 at 13:53 +0300, Mucibirahman İLBUĞA wrote: >>> >>> #!/usr/bin/python >>> # -*- coding: utf8 -*- >>> import string, os, time, random >>> >>> >>> sifre=str(random.random()) >>> >>> >>> sifre=sifre[-5:] >>> >>> f=open('/root/sifre','w') >>> >>> f.writelines(sifre+chr(10)) >>> >>> f.close() >>> >>> >>> cmd='htpasswd -bc /var/.htpasswd FtpKullanici `cat /root/sifre`' >>> os.system(cmd) >>> >>> cmd='mail -s "Mevcut ftp sifresi..." [email protected] < /root/sifre' >>> os.system(cmd) >>> >>> cmd='mail -s "Mevcut ftp sifresi..." [email protected] < /root/sifre' >>> os.system(cmd) >>> >>> >>> >>> >>> Test etmedim ama ayni isi yapan php kodu da asagidadir, >>> >>> #!/usr/bin/php >>> >>> $sifre=rand(10000,99999); >>> $f=fopen('/root/sifre','w'); >>> >>> fwrite($f,$sifre+chr(10)); >>> fclose($f); >>> >>> $cmd='htpasswd -bc /var/.htpasswd FtpKullanici `cat /root/sifre`'; >>> system($cmd); >>> >>> $cmd='mail -s "Mevcut ftp sifresi..." [email protected] < /root/sifre'; >>> system($cmd); >>> >>> $cmd='mail -s "Mevcut ftp sifresi..." [email protected] < >>> /root/sifre'; >>> system($cmd); >>> >>> :) noktali virgul ve $ eklemek disinda pek fark olmadi goruldugu gibi. >>> >>> >>> -- >>> >>> /** >>> * *@author* Atıf CEYLAN >>> * Software Developer & System Admin >>> * http://www.atifceylan.com >>> */ >>> >>> >>> _______________________________________________ >>> Linux-programlama mailing list >>> [email protected] >>> https://liste.linux.org.tr/mailman/listinfo/linux-programlama >>> Liste kurallari: http://liste.linux.org.tr/kurallar.php >>> >>> >>> >>> _______________________________________________ >>> Linux-programlama mailing >>> [email protected]https://liste.linux.org.tr/mailman/listinfo/linux-programlama >>> Liste kurallari: http://liste.linux.org.tr/kurallar.php >>> >>> >>> -- >>> >>> /** >>> * *@author* Atıf CEYLAN >>> * Software Developer & System Admin >>> * http://www.atifceylan.com >>> */ >>> >>> >>> _______________________________________________ >>> Linux-programlama mailing list >>> [email protected] >>> https://liste.linux.org.tr/mailman/listinfo/linux-programlama >>> Liste kurallari: http://liste.linux.org.tr/kurallar.php >>> >>> >> >> _______________________________________________ >> Linux-programlama mailing list >> [email protected] >> https://liste.linux.org.tr/mailman/listinfo/linux-programlama >> Liste kurallari: http://liste.linux.org.tr/kurallar.php >> >> >
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
