/ / zsh dosyasını çalıştırmadan önce uyarı - zsh

dosyayı çalıştırmadan önce zsh uyarısı - zsh

zsh

Sık sık kendimi yanlışlıkla python dosyalarını kabuk komut dosyaları olarak çalıştırırken buluyorum, ör. $ ./test.py

Dosyanın başlangıcında hiçbir shebang hattı yoksa bu çok fazla zarar verme potansiyeline sahiptir, bu yüzden zsh için bunu yapmak için bir uyarı vermek için bir yol istiyorum.

Bu işlevsellik zaten bir yerde var mı?

Değilse, kullanmayı düşünüyorum accept-line bunu uygulamak, ama bu bir hepsini yakalama çözümü gibi görünüyor, daha spesifik bir yol var mı?

Yanıtlar:

Cevap için 3 № 1

Bunu sağlamak için son ek takma adları kullanabilirsiniz .py dosyalar python tarafından çalıştırılır:

alias -s py="/usr/bin/env python"

Şimdi sona eren komutu yazdığınızda .py komut satırınızda, /usr/bin/env python.

Not: Bu, dosyanın yürütülebilir olup olmadığını umursamaz. Bunu yürütülebilir dosya ile sınırlamak istiyorsanız .py dosyaları, bir işlevi kullanabilirsiniz:

runxpy () {
if [[ -x "$1" ]] ; then
/usr/bin/env python "$@"
else
"$@"
fi
}
alias -s py=runxpy

Kısıtlamalardan biri elbette söz konusu dosyaların .py soneki. Diğeri ise, mevcut herhangi bir #!-satırı yok sayılır, ancak bu genişletilerek çözülebilir runxpy sadece kullanmak yerine ilk satırı ayrıştırmak için /usr/bin/python her zaman.


İlgili sorular
Yorumlar
Yorum ekle