Merhabalar, betik dillerinde yorumlayıcı genelde dosya başında belirtiliyor;
#!/bin/bash #!/path/to/python gibi... Bu şekilde belirtmeden de yorumlayıcı ismi ile ilgili dosyayı çalıştırmak da yeterli olabiliyor; python betik_dosyası bash betik_dosyası gibi... Yani bildiğim yukarıda görüldüğü kadarı ile bir dosya için bir yorumlayıcı belirtebiliyoruz. Sizin dediğinizin yapılabilmesi için Python yorumlayıcısının BASH dilini ya da BASH kabuk yorumlayıcısının Python dilini anlaması gerekli. Bu ne kadar anlamlı bilemiyorum fakat ilk bakışta çalışacak bir yapı gibi durmuyor. Bu yapılmış olsa Python ve BASH aynı dil kabul edilebilirdi sanırım, ya da hangi dil diğerini anlarsa, diğer yorumlayıcı tarafından anlaşılabilen dilin yorumlayıcısına gerek kalmazdı da diyebiliriz sanırım. Belki aralarında C && C++ gibi bir ilişki olsaydı (birini diğerinin iyileştirilmiş ve ek özellik eklenmiş versiyonu olarak düşünürsek) C++ koduna gömülen C kodunu belirten "extern C" gibi bir belirteç ile de yapılaiblirdi. Bu tarz bir ilişkilendirme var mı aralarında emin değilim açıkcası... Benim önerim, diğer arkadaşların önerdiği gibi Python içerisinden BASH ya da BASH içerisinden Python betiğini çağırmanız olacak. Birbirleri ile ortaklaşa kullanılması gereken değişkenler mevcutsa çevre/ortam değişkenlerini önerebilirim (enviroment variables); http://docs.python.org/2/using/cmdline.html http://genepath.med.harvard.edu/mw/Bash:HOW_TO:_Set_an_environment_variable_in_the_bash_shell Yani kısacası Python için *os.environ* bash için ise *export* vs komutları. *Anekdot:* BASH ile ana (parent) prosese ait değişkenleri değiştirebilmek için çalıştırılacak betik başına fazladan nokta koymak gerekiyor. ./betik_dosyası -> Bu şekilde dosyayı çalıştıran ortamda VAR1="var1 value" şeklinde bir anahtar/değer ikilisini (ya da değişken) olduğunu düşünürsek, betik dosyası içerisinde; VAR1="new var1 value" tanımı, yeni bir VAR1 değişkeni yaratacak ve kendini çağıran prosese ait olan VAR1'i görmeyecektir. Ana prosese ait değişkene erişmek için betiği fazladan bir nokta (prosesi çalıştıran komut ile arasında boşluk bulunan) ile başlatabilirsiniz; . ./betik_dosyası Kolay gelsin, iyi çalışmalar. 2013/7/26 Fevzi DAŞ <[email protected]> > Merhabalar, > > Python kodlarını içeren bir dosyaya shell kodu eklemek mümkün müdür? Yani > bir dosyada önce python kodu yazıp ardından shell kodları yazmak ve tekrar > python kodları ile devam etmek istiyorum. > > Ve ayrıca shell de oluşturduğum değişkenleri de python içerisinde > kullanmak istiyorum. > > Bunun için nasıl bir yol izlememi tavsiye edersiniz. > > İyi çalışmalar ve teşekkürler ... > > Fevzi Daş > > _______________________________________________ > Linux-programlama mailing list > [email protected] > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > > -- Semetey COŞKUN
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
