Installation Python+;Shell[创建用户定义的unix命令和安装]

Installation Python+;Shell[创建用户定义的unix命令和安装],installation,command,user-defined,Installation,Command,User Defined,这是一份小型项目建议书。 我想创建许多用户定义的unix命令,并使用Python编写的代码对文件执行各种操作。 例如,extractinfo“filename”[此命令将提取存储在某个文件中的元数据或常规信息] 这就是我的想法: 1.假设我有一个python代码extract.py。 2.现在,为了创建“我自己的unix命令”(比如-'extractinfo'),我编写了一个名为-extractinfo的shell脚本: #/bin/bash python /home/extract.py

这是一份小型项目建议书。
我想创建许多用户定义的unix命令,并使用Python编写的代码对文件执行各种操作。
例如,extractinfo“filename”[此命令将提取存储在某个文件中的元数据或常规信息]

这就是我的想法:
1.假设我有一个python代码extract.py。
2.现在,为了创建“我自己的unix命令”(比如-'extractinfo'),我编写了一个名为-extractinfo的shell脚本:

#/bin/bash
python /home/extract.py  
三,。现在,我想把上面的shell脚本放在/usr/bin中。因此,我创建了另一个shell脚本-install.sh:

#!/bin/bash
chmod u+x extractinfo  
sudo cp extractinfo /usr/bin/  
四,。现在我可以运行install.sh并使用命令'extractinfo'

问题是,如果我使用另一个系统并运行install.sh,命令'extractinfo'将变为可用,但在终端上执行该命令时,会抛出一个错误(python:无法打开文件'extract.py':[Errno 2]没有这样的文件或目录)

当需要使用另一个系统时,如何处理原始python脚本的路径


我知道尝试将shell和python链接是一种非常粗糙的做法。在此问题上,如有任何帮助/建议,我们将不胜感激

有什么理由不直接在python中使用shebang吗?如果您担心python的路径不一致,那么可能使用/usr/bin/env间接寻址

如果您不熟悉,请参阅。我不清楚您是否需要bash脚本。只需将python脚本放入/usr/bin(或者更好的是,/usr/local/bin)

换句话说,如果这不太清楚,请在脚本的第一行: #!/usr/bin/python 或
#!/usr/bin/env-python

我尝试添加shebang行并将脚本放在/usr/bin中,但该文件没有变为可执行文件(顺便说一句,我还更改了权限)。为了执行脚本,我仍然需要调用python解释器。我仍然要写:“python摘录”。我只是无法编写简单的“摘录”并运行脚本。有什么建议吗?嘿,有用。谢谢D权限有问题。现在它起作用了。非常感谢您把一切都清理干净。:)