Eu tenho uma pasta inteira dedicada a scripts python.
Estou cansado de fazer chmod em todos os novos scripts python que escrevo.
Existe uma maneira de tornar todos os arquivos dentro da minha pasta executáveis se for um script python?
Seria bom ter um script que verifique sempre que um novo script .py for criado e se houver um novo script .py o torne executável ali mesmo.
- Eu uso o Vim.
command-line
scripts
executable
chmod
Dominici
fonte
fonte
vim
ouemacs
fazer isso por você.Respostas:
Outra boa opção é o Incron . Ele trabalha na inotificação com condições especificáveis para um determinado local.
Então, posso dizer, observe esta pasta, quando você vir um arquivo criado, execute um comando.
Assim como uma amostra incrontab ...
Da mesma forma, pode-se usar o caminho / arquivo como argumentos para um script bash para permitir a filtragem por
.py
extensões, se necessário.fonte
Tornará executáveis todos os
.py
arquivos atuais no diretório / caminho / para / python / scripts / dir .Não conheço uma ferramenta automática como você descreve. Pode ser possível ter uma macro em seu editor que possa fazer isso, mas não com o editor que eu uso. ;-)
fonte
*.py
. Também estou assumindo que os scripts dos OPs pertencem ao seu userID padrão, portanto não vejo a necessidadesudo
. Boa sorte a todos.Como primeiro passo, você pode tentar isso em
~/.vimrc
:chmod +x
no nome do arquivo para todos os.py
arquivos quando você os escreve. Observando a lista de eventos (:h events
), não consigo encontrar um evento em que um novo arquivo seja criado, portanto tive que me contentar em executar cada vez que ele fosse gravado.Na primeira vez em que
chmod
é aplicado, o arquivo é alterado evim
o alertará sobre isso:Eu tentei alguns truques para fazer isso
autoread
apenas para essa mudança, mas sem sorte. Então você terá que pressionar Enterduas vezes.fonte
Quando iniciado, o script abaixo altera automaticamente as permissões de todos os arquivos de um determinado tipo (extensão) em um diretório (uma vez). Depois disso, o script verifica o diretório a cada 5 segundos em busca de arquivos adicionados recentemente e altera as permissões se o arquivo for do tipo especificado (nesse caso, um
.py
arquivo)Ele tem algumas opções: neste caso, faz os arquivos recém-adicionados executável, mas outras ações são possíveis também, conforme definido na linha:
command = "chmod +x"
. Além disso, você pode definir (alterar) em que tipo de arquivos (extensões de idioma) a ação deve ser executada.Como usar
Copie o script abaixo em um arquivo vazio. Salve-o como
change_permission.py
e execute-o em segundo plano pelo comando:O script
* Nota: se você precisar de privilégios sudo, basta executar o script com
sudo
fonte
Aqui estão algumas informações com alguns comandos que podem ajudar, consulte http://ss64.com/bash/syntax-permissions.html
Você pode usar o seguinte script de cabeçalho. Coloque
mkscript.sh
no seu$PATH
. Execute amkscript.sh
partir do diretório de trabalho em que os scripts python estão armazenados. O script cria algumas informações úteis do cabeçalho, intitula o script e o torna executável e, em seguida, abre o editor escolhido; no seu caso VIM.Eu modifiquei
mkscript.sh
, ele irá produzir scripts com a extensão python*.py
A variável
${PYTHON_VERSION}
é chamada e, portantoPYTHON_VERSION="/usr/bin/python --version"
, foi adicionada ao/etc/environment
arquivo. Dê uma olhada em https://help.ubuntu.com/community/EnvironmentVariablesfonte