2016-11-22 155 views
0

我有一個python腳本(scriptname.sh),它使用權限創建,使其不是executalbe(當嘗試執行時拒絕權限)。腳本在mac中不可執行

在爲Mac的命令行,我可以做在mac命令行

chmod 775 scriptname.sh 

下,它會執行。這給了-rwxrwx-x權限。

我試圖在與

os.chmod(filenamePath, 755) 

它創建一個python腳本這樣做編程方式,但它給--wxrw - WX並不會執行。

我應該在python腳本中放置什麼,以便在命令行上執行腳本的權限是正確的?

(更新)我還試圖在bash提示符運行腳本(與上面給出os.chmod權限)和scriptname.sh不可執行在與

./scriptname.sh 

命令行我看着chmod,我正在設置權限在python提到的方式。我還查看了permissions以查看需要哪些權限(755)才能執行該腳本。我不確定爲什麼將其更改爲755在命令行上以編程方式表現出不同的方式。

+0

爲什麼命令中的權限775和腳本中的755權限? – ASCIIThenANSI

+2

也許它想要一個基地8號碼。如果你做'os.chmod(filenamePath,int(「775」,8))'',會發生什麼? – Kevin

+0

這工作!我也不需要bash!非常感謝!!!如果您發佈該解決方案,我會給你信用的答案! – Michele

回答

1

該公司預計八進制,所以使用

os.chmod(yourfile, 0775) 

在python3

os.chmod(yourfile, 0o775) 
-1

你正在傳遞一個基數爲10號的東西,希望基地-8標誌的常見錯誤。八進制775的十進制等式是509和755,493