2015-09-21 58 views
3

我正在尋找一種方法來限制如何調用python文件。基本上我只希望它是可執行的,當我從一個bash腳本調用它,但如果直接從終端或任何其他方式直接運行,我不希望它能夠運行。我不確定是否有辦法做到這一點,但我想我會給它一個鏡頭。將python文件限制爲僅由bash腳本運行

+3

你的終端幾乎是一個bash(或其他外殼)腳本;或者相反。說實話,我認爲這個問題不太合理。 – Evert

+5

爲什麼你(想你)想要這個?你究竟在努力實現什麼?!請參閱[*什麼是XY問題?*](http://meta.stackexchange.com/q/66377/248731) – jonrsharpe

+0

相反,您可以檢查一些字符串是否在'args' – taesu

回答

1

你可以從你的bash腳本一個特殊的環境變量設置運行它,如:

FROM_BASH=1 /path/to/your_python_script.py 

然後,你檢查變量設置:

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

有沒有有意義的方式來做到這一點。

UNIX進程體系結構不能以這種方式工作。您無法通過其父進程控制腳本的執行。

相反,我們應該討論爲什麼你想要做這樣的事情,你可能會想在一個錯誤的方式做,什麼好的選擇有解決實際根本問題。