2015-09-21 2 views
3

Я ищу способ ограничить, как будет вызываться файл python. В основном, я хочу, чтобы он исполнялся только тогда, когда я вызываю его из сценария bash, но если он запускается напрямую с терминала или каким-либо другим способом, я не хочу, чтобы он мог работать. Я не уверен, есть ли способ сделать это или нет, но я решил, что дам ему шанс.Ограничить файл python только запуском bash-скриптом

+3

Вашего терминал почти Баш (или другой оболочки); или, наоборот, наоборот. Я не думаю, что этот вопрос имеет смысл, если честно. – Evert

+5

Почему вы (думаете, что хотите) этого хотите? Что вы на самом деле пытаетесь достичь ?! Пожалуйста, см. [* Что такое проблема XY?] (Http://meta.stackexchange.com/q/66377/248731) – jonrsharpe

+0

, скорее, вы можете проверить, есть ли какая-либо строка в 'args' – taesu

ответ

1

Вы можете запустить его из сценария Баша с переменным специальной средой набором, как:

FROM_BASH=1 /path/to/your_python_script.py 

Затем проверьте, если переменная установлена:

if os.environ.get('FROM_BASH'): 
    # your exit code here 
8

Не существует значимого способа сделать это.

Архитектура процесса UNIX не работает. Вы не можете контролировать выполнение скрипта своим родительским процессом.

Вместо этого мы должны обсудить, почему вы хотите сделать что-то вроде этого, вы, вероятно, думаете делать это в неправильном направлении, и что хорошие вариант есть для решения реально основной проблемы .

Смежные вопросы