Você pode usar aliases de sufixo para garantir que .py arquivos sejam executados por python:
alias -s py='/usr/bin/env python'
Quando você digitar o comando que termina em .py em sua linha de comando, ele será executado com /usr/bin/env python .
Nota: isso não importa se o arquivo é executável ou não. Se você quiser restringir isso para arquivos executáveis .py , você pode usar uma função:
runxpy () {
if [[ -x "$1" ]] ; then
/usr/bin/env python "$@"
else
"$@"
fi
}
alias -s py=runxpy
Uma restrição é, obviamente, que os arquivos em questão tenham o sufixo .py .
Outra é que qualquer #! -line existente é ignorada, mas isso poderia ser resolvido estendendo runxpy para analisar a primeira linha em vez de usar apenas /usr/bin/python todas as vezes.