質問: ### 前提・実現したいこと 「実行権限」というものがよく分かりません。 以下のソースコード「test.py」の実行権限は、ターミナル上でllコマンドを叩くと $ ll -rw-r--r--+ となっており、実行権限「x」がありません。しかし、 py test.py と叩くと、 hello ときちんと表示されます。なぜ実行できるのでしょうか? 初歩的な内容かと存じますが、ご教授下さい。 ### 該当のソースコード ``` print "hello" ``` ### 補足情報 言語:Python2.7 OS:MacOSX
回答: ご質問に関しては他の方が回答されている通りですが、 余談を少し... unix系のOSではログインすると(基本的に)何某かのシェルが起動し、 そのシェルが解釈できるコマンドを入力して希望する処理を実行する という流れになっていますね。 そういう意味では、シェルに与えてよいものか否かの目印として 「実行権限」があるという見方もできます。 もちろん与えてよくないものに対して強制的に「実行権限」を 付けることもできますが、その結果は様々なエラーとなります。 ちなみに、ディレクトリにも「実行権限」はついてますよね。 で、それを外すとどうなるか? cd (change directory)できなくなります。 そのディレクトリが自分で作ったものだとしてもね。