У меня есть несколько сценариев Python в / usr / share / scripts /, которые я часто использую, и я хочу иметь возможность выполнять их, просто написав имя, а не полный путь, как я могу это сделать?
echo $ PATH показывает мне:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/real/RealPlayer
Поэтому я попытался написать на терминале:
PATH="/usr/share/scripts/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/real/RealPlayer"
export
Ошибки не отображаются, и echo $ PATH теперь показывает путь моего нового сценария, но когда я запускаю scriptName, я получаю команду not found.
Что я делаю неправильно?
Ответы:
Установите права на исполняемые файлы для сценариев Python с помощью «chmod + x *».
Теперь у вас есть два варианта:
/usr/local/bin
каталоге.Пример:
[mzed@node02 test]$ vim printme.py
Содержание файла:
-
Я надеюсь, что это поможет вам.
источник
Хорошо, может быть, я просто старшая школа ...
В / usr / bin добавьте сценарии оболочки с заголовком #! / Bin / bash и без расширения .sh. Тогда в этих скриптах просто запустите python absolutepath.
Почему я думаю, что это лучше, чем другие ответы:
не требует изменения ваших скриптов, чтобы сделать их исполняемыми.
Не требует переименования ваших скриптов.
источник
Извините за предложение основной вещи .. Вы пробовали "scriptname.py", а не просто "scriptname"?
Кроме того, все сценарии должны иметь разрешения на выполнение (вы можете сделать это, выполнив команду «chmod + x script.py»). Судя по приведенному выше комментарию, вы запускаете их как «/ usr / share / scripts / scriptName. py args ", они должны иметь права на выполнение.
источник