Como conceder permissões para um arquivo automaticamente?

0

Quando tento executar um arquivo python, digamos hello.py , ele solicita

bash: ./hello.py: Permission denied

então preciso

chmod u+x hello.py

antes de executá-lo.

É possível conceder acesso automaticamente a todos os arquivos python assim que eles são criados?

    
por Zhang Yifan 15.12.2013 / 16:42

2 respostas

2

Você pode usar um script simples como este,

#!/bin/bash

if [ $# -lt 2 ]
then
    chmod +x $(pwd)/$1
    $(pwd)/$1
else
    chmod +x $(pwd)/$1
    $(pwd)/$1 $2
fi

Salve o script acima como runpy.sh , mantenha-o em PATH (você pode mantê-lo em ~/bin )

Conceder permissão de execução a partir do terminal

chmod +x ~/bin/runpy.sh

Uso

  • Para executar hello.py sem alterar a permissão no terminal,
runpy.sh hello.py
  • Caso você queira usar qualquer coisa no argumento do programa python, forneça os argumentos dentro de " " like,
runpy.sh hello.py "-option arg1 arg2 agr3"

Deve fazer o truque. Mas não se esqueça de usar a linha shebang no arquivo python ( .py ),

#!/usr/bin/python
    
por souravc 15.12.2013 / 17:02
0

Não, isso não é possível. Você tem que chmod esses arquivos você mesmo. Se você tem um editor programável (como o vim ou o emacs), você pode escrever um plugin que faça isso automaticamente ao escrever um arquivo cujo nome termine com .py.

    
por Dennis Kaarsemaker 15.12.2013 / 16:46