Python ve Kabuk (Shell) Programlama

Daha önce yapmış olduğum python örneğini bir kabuk programı (shell script) olarak çalıştırmak isterseniz aşağıdaki gibi yazmanız ve çalıştırma izni vermeniz daha sonra kabuk programları şeklinde çalıştırmanız işe yarayacaktır. Diyelim python'a iyice alıştınız o zaman bash yerine python scriptleri yazmak için kullanabilirsiniz. Hatta python yerine diğer kurulu dilleri de kullanabileceğinizi düşünüyorum.
#!/usr/bin/python
import commands,sys,os

def DU(girdi):
try:
#Parametre olarak verilen dizinin boyutlarini bulacagiz
#Boyut 1024 byte'in katlari seklinde
for dizin in girdi:
komut = commands.getstatusoutput("du -ks '"+dizin+"'")
#komut[0] komutun durumunu, komut[1] ciktisini sakliyor
print komut[1]
except:
print "Unexpected error:", sys.exc_info()[0]
raise
#Programi calistiralim
if(len(sys.argv)>1): DU(sys.argv)
else: DU(["/home/emre"])
sys.exit()

Yukarıdaki kodu (aşağıdaki resimdeki satırların içte olması gibi yazmalısınız python buna göre blokları (mesela for döngüsü) belirlemektedir) mesela DiskUsage adında bir dosyaya yazın (nano DiskUsage diyorsunuz açılan yere kodu yapıştırıp CTRL+X ile çıkıyorsunuz ve kaydetme sorusuna Evet (Yes'te olabilir) diyorsunuz. Dilerseniz gedit veya kwrite tarzı editörler kullanabilirsiniz.).
Daha sonra chmod +x DiskUsage komutunu çalıştırın. ./DiskUsage komutuyla yukarıda yazdığınız komut çalışacaktır. Komuta argüman verip dilediğiniz bir klasörün kullanım bilgilerini de inceleyebilirsiniz. Erişemediğiniz klasörler için sudo komutu işe yarayabilir.
Aşağıda komut satıri resmini inceleyebilirsiniz:
Elbette siz de diğer betik dilleri (mesela ruby falan) için bunu deneyebilirsiniz.
Kaynaklar:
http://www.ibiblio.org/g2swap/byteofpython/read/index.html
Dive Into Python For Loops
Linux altında pratik programlama

"Sağ tarafta Oz dizisinin 1. sezonunun 7. bölümü oynuyordu."

Hiç yorum yok: