允许我的python脚本的Makefile?

2024-10-01 02:26:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为“的python脚本”我的程序.py以及一个名为“myprogram”的shell脚本来运行这个脚本

# "myprogram"

#!/bin/sh
python myprogram.py

我创建这个shell脚本是因为我想这样运行我的程序:

^{pr2}$

但是,当我这样做时,我得到了这个“权限被拒绝”的错误。在

我知道我需要输入“chmod755myprogram”来授予权限,但我想这样做

而不是让用户手动键入chmod。在

换句话说,我想要我的makefile以便输入

./make

运行“chmod 755 myprogram”

有办法吗??我的makefile的内容应该是什么?在

谢谢


Tags: 用户py程序脚本权限binsh错误
2条回答

使用Make做这件事没有意义。Make不是为它而设计的。您应该自己发出命令chmod 755 myprogram,然后执行bedone。如果您愿意,可以将此命令封装在脚本或别名中,但不能放在makefile中,然后您可以将myprogram输入到您最喜欢的保留权限的版本控制系统中,这样,如果您在其他地方重新创建它,则会设置权限。制造并不是做这件事的方法。在

但是,如果您必须这样做(例如,因为老板这样说),那么让all依赖myprogram是不正确的。myprogram已经存在,all与{}的内容或其修改时间无关。它应该是:

all:
    chmod 755 myprogram

尝试将类似的内容放入Makefile

all: myprogram
    chmod 755 myprogram

myprogram注册为all目标的依赖项。在

注意,第二行应该以硬制表符开始,而不是空格,因为makefile对缩进非常特别。在

关于shell脚本:有两种编写方法。在

^{pr2}$

这将把脚本的前两个参数传递给python程序。在

但是,如果你这么做

python myprogram.py $@

然后传递给shell脚本的所有参数都将通过传播到python程序。在

相关问题 更多 >