Python-da alias calismiyor

Arkadaslar Linuxda alias tanimliyorum( alias gg=‘vi ornek.py’ ) bu kodu terminalda yazdigim zaman calisiyor fakat .py dosyasnin icine bu kodu asagidaki sekilde yazdigim zaman calismiyor acaba neden?kodda sorun yok hata vermiyor fakat aliasda tanimlanmiyor

import os
os.system("alias gg=‘vi ornek.py’ ")

Merhaba.

Alias’ın tanımlı olup olmadığını nasıl kontrol ediyorsunuz? Şurada belirtildiği üzere bu fonksiyon komutları bir alt uçbirimde(subshell) çalıştırır ve sonucu döner. Yani alias’ı kontrol edecekseniz, bunu yine aynı os.system çağrısı içinde yapmalısınız:

import os
os.system("alias gg='vi ornek.py' && <alias'ı kontrol edecek komut>")

Böyle yapmazsanız, bu fonksiyon döndükten sonra alt uçbirim kapanacağı için ortada herhangi bir alias olmayacaktır.

İyi çalışmalar.

1 Beğeni

Ben alias-i .py dosyasinin icinde tanimliyorum sonrasinda program kapadikdan sonra terminalda o aliaslarin calismsini istiyorum asil yapmak istediyim sey su.Her defasinda bilgisayar acildigi bazi aliaslari otomatik tanimlaak icin progamin yapmasini istiyorum …Her defasinda terminalda onlari teker teker manuel girmeyeyim diye

Simdi anladim demek os.system() bir alt shellde calisdiriyormus programi onun icin program kapandikdan sonra alias terminalda calismiyor.Yardimlainiz icin tsekkurler

Python’da bunu yapmanın bir yolu vardır belki ama en kolay yolu shell’in kendi dilinde yapmanız. Ancak shell kapandıktan sonra alias’ların kaybolmaması için komutları ilgili dosyaya/dosyalara yazmayı unutmayın.

.sh dosyasindada alias tanimladigim zaman oda calismiyor chmod +x dosya.sh ile calisma yetgisi veriyorum ./dosya.sh yapiyprum program calisiyor fakat terminalda alias tanimli diyil yaziyor muhtemelen .sh dosyasinda tanimlanan aliaslarda .py dosyasinda oldugu gibi alt SHELL-de calisiyor

Merhaba;

Neden bunun için betik yazma ihtiyacı duyuyorsunuz ki?

bu tarz tanımlamalar ve özelleştirmeler için ~/.bashrc dosyası var zaten. bu dosyaya istediğiniz herhangi bir alias’ı yazabilir ve tekrar tekrar tanımlamaktan kurtulursunuz. örneğin bu dosyaya şunları yazarsanız:

alias mount='mount |column -t'

bundan böyle mount yazdığınızda daha insancıl bir çıktı ile karşılaşırsınız.

Evet ~/.bashrc bunu biliyorum fakat benimm istedim terminal kapandiginda aliaslarin kayb olmasi ~/.bashrc icindede bazi aliaslar tanimladimf fakat bazilarini terminal kapanana kadar aktif olmasini istiyorum

terminal kapandığında aliasların kaybolmasını istiyorsanız sadece konsolda alias komutu ile tanımlama yapmanız yeterli. açılan alt terminallerde de çalışsın ise kastınız o zaman bash ve export anahtar kelimeleri ile arama yaparsanız karşınıza istediğiniz şeyler gelecektir.