У меня есть целая папка, посвященная сценариям Python.
Я устал делать chmod на каждом новом скрипте Python, который я пишу.
Есть ли способ сделать каждый файл внутри моей папки исполняемым, если это скрипт на python?
Было бы неплохо иметь скрипт, который проверяет всякий раз, когда создается новый скрипт .py, и если есть новый скрипт .py, он сразу же исполняется.
- Я использую Vim.
command-line
scripts
executable
chmod
Доминичи
источник
источник
vim
илиemacs
сделать это для вас.Ответы:
Еще один хороший вариант - Incron . Это работает на inotify с определенными условиями для данного местоположения.
Так что я могу сказать смотреть эту папку, когда вы видите созданный файл, запустите команду.
Так же, как образец incrontab ...
Аналогичным образом можно использовать путь / файл в качестве аргументов скрипта bash, чтобы
.py
при необходимости он мог фильтроваться по расширениям.источник
Сделает исполняемыми все текущие
.py
файлы в каталоге / path / to / python / scripts / dir .Я не знаю об автоинструменте, как вы описываете. Возможно, в вашем редакторе есть макрос, который мог бы это делать, но не с редактором, который я использую. ;-)
источник
*.py
. Я также предполагаю, что сценарии OPs принадлежат его стандартному userID, поэтому я не вижу необходимости в этомsudo
. Всем удачи.В качестве первого шага вы можете попробовать это в вашем
~/.vimrc
:chmod +x
имя файла для всех.py
файлов при записи в них. Глядя на список событий (:h events
), я не могу найти событие, в котором создается новый файл, поэтому мне приходилось соглашаться на запуск каждый раз, когда он записывается.При первом
chmod
применении файл будет изменен иvim
предупредит вас об этом:Я попробовал пару трюков, чтобы сделать это
autoread
только для этого изменения, но не повезло. Так что вам придется нажать Enterдважды.источник
При запуске приведенный ниже скрипт автоматически меняет разрешения для всех файлов данного типа (расширения) в каталоге (один раз). После этого скрипт каждые 5 секунд проверяет каталог на наличие новых добавленных файлов и изменяет права доступа, если файл имеет заданный тип (в данном случае
.py
файл).Он имеет несколько вариантов: в данном случае, это делает вновь добавленные исполняемые файлы, но и другие действия возможны также, как это определено в строке:
command = "chmod +x"
. Кроме того, вы можете определить (изменить) тип файлов (языковые расширения), которые необходимо выполнить.Как пользоваться
Скопируйте приведенный ниже скрипт в пустой файл. Сохраните его как
change_permission.py
и запустите в фоновом режиме с помощью команды:Сценарий
* Примечание: если вам нужны привилегии sudo, просто запустите скрипт с
sudo
источник
Вот некоторая информация с несколькими командами, которые могут помочь, посмотрите http://ss64.com/bash/syntax-permissions.html
Вы можете использовать следующий скрипт заголовка. Место
mkscript.sh
в вашем$PATH
. Выполнитьmkscript.sh
из рабочего каталога, в котором хранятся скрипты Python. Сценарий создает полезную информацию заголовка, присваивает заголовок сценарию и делает его исполняемым, а затем открывает выбранный редактор; в вашем случае VIM.Я изменил
mkscript.sh
, он будет производить скрипты с расширением Python*.py
Переменная
${PYTHON_VERSION}
называется, поэтомуPYTHON_VERSION="/usr/bin/python --version"
был добавлен в/etc/environment
файл. Посмотрите на https://help.ubuntu.com/community/EnvironmentVariablesисточник