假设有这个脚本:
#! /usr/local/bin/python3
# I'm bar
print('bar')
检查文件权限:
ls -l bar.py
-rw-r--r-- 1 me staff 56 Mar 31 17:47 bar.py
运行它:
$ python3 bar.py
bar
# the mode was not changed after being executed
$ ls -l bar.py
-rw-r--r-- 1 me staff 56 Mar 31 17:47 bar.py
但是,如果我从指定的解释器执行它
$ ./bar.py
bash: ./bar.py: Permission denied
这意味着该模式应该先前已被修改过。
$ chmod 755 bar.py
$ ./bar.py
bar
在没有修改模式的情况下执行文件的python3 bar.py
背后的机制是什么?