J'ai un dossier entier dédié aux scripts python.
J'en ai assez de faire chmod sur chaque nouveau script python que j'écris.
Existe-t-il un moyen de rendre chaque fichier de mon dossier exécutable s'il s'agit d'un script python?
Ce serait bien d'avoir un script qui vérifie chaque fois qu'un nouveau script .py est créé et s'il y a un nouveau script .py le rendre exécutable sur place.
- J'utilise Vim.
command-line
scripts
executable
chmod
Dominici
la source
la source
vim
ouemacs
de faire cela pour vous.Réponses:
Incron est une autre bonne option . Il fonctionne sur inotify avec des conditions spécifiables pour un emplacement donné.
Je peux donc dire regarder ce dossier, lorsque vous voyez un fichier créé, exécutez une commande.
Tout comme un exemple d'incrontab ...
On pourrait également utiliser le chemin / fichier comme arguments d'un script bash pour lui permettre de filtrer par
.py
extensions si nécessaire.la source
Rendra exécutable tous les
.py
fichiers actuels dans le répertoire / chemin / vers / python / scripts / dir .Je ne connais pas d'outil automatique comme vous le décrivez. Il pourrait être possible d'avoir une macro dans votre éditeur qui pourrait le faire, mais pas avec l'éditeur que j'utilise. ;-)
la source
*.py
. Je suppose également que les scripts OP appartiennent à son ID utilisateur standard, donc je ne vois pas la nécessité desudo
. Bonne chance à tous.Dans un premier temps, vous pouvez essayer ceci dans votre
~/.vimrc
:chmod +x
sur le nom de fichier de tous les.py
fichiers lorsque vous y écrivez. En regardant la liste des événements (:h events
), je ne trouve pas d'événement où un nouveau fichier est créé, j'ai donc dû me contenter de courir à chaque fois qu'il est écrit.La première fois que le
chmod
est appliqué, le fichier est modifié etvim
vous en avertira:J'ai essayé quelques astuces pour le faire
autoread
juste pour ce changement, mais pas de chance. Vous devrez donc appuyer Enterdeux fois.la source
Une fois lancé, le script ci-dessous modifie automatiquement les autorisations de tous les fichiers d'un type donné (extension) dans un répertoire (une fois). Après cela, le script vérifie le répertoire toutes les 5 secondes pour les fichiers nouvellement ajoutés et modifie les autorisations si le fichier est du type donné (dans ce cas, un
.py
fichier)Il a quelques options: dans ce cas, il rend les fichiers exécutables nouvellement ajoutés, mais d' autres actions sont également possibles, tels que définis dans la ligne:
command = "chmod +x"
. De plus, vous pouvez définir (modifier) sur quel type de fichiers (extensions de langue) l'action doit être effectuée.Comment utiliser
Copiez le script ci-dessous dans un fichier vide. Enregistrez-le sous
change_permission.py
et exécutez-le en arrière-plan par la commande:Le script
* Remarque: si vous avez besoin des privilèges sudo, exécutez simplement le script avec
sudo
la source
Voici quelques informations avec quelques commandes qui pourraient vous aider, consultez http://ss64.com/bash/syntax-permissions.html
Vous pouvez utiliser le script d'en-tête suivant. Placer
mkscript.sh
dans votre$PATH
. Exécutez àmkscript.sh
partir du répertoire de travail où les scripts python sont stockés. Le script crée des informations d'en-tête utiles, titre le script et le rend exécutable, puis ouvre l'éditeur choisi; dans votre cas VIM.J'ai modifié
mkscript.sh
, il produira des scripts avec l'extension python*.py
La variable
${PYTHON_VERSION}
est appelée, elle a doncPYTHON_VERSION="/usr/bin/python --version"
été ajoutée au/etc/environment
fichier. Jetez un œil à https://help.ubuntu.com/community/EnvironmentVariablesla source