这是一个小型项目建议。
我想创建许多用户定义的unix命令,并使用Python编写的代码对文件执行各种操作。
例如extractinfo'文件名'这个命令将提取元数据或一些存储在一些文件中的一般信息]Python + Shell [创建用户定义的unix命令和安装]
这就是我要去的地方:
1.假设我有一个Python代码extract.py。
2.现在,以创建 '我自己的UNIX命令'(说 - 'extractinfo'),我编写了一个名为shell脚本 - extractinfo:
#/bin/bash
python /home/extract.py
3.现在,我希望把上述shell脚本放在/ usr/bin中。所以我创建另一个shell脚本 - install.sh:
#!/bin/bash
chmod u+x extractinfo
sudo cp extractinfo /usr/bin/
4.现在我可以只运行install.sh并且使用命令 'extractinfo'。
问题是,如果我使用另一个系统并运行install.sh,命令'extractinfo'变得可用,但随后在终端上执行命令时,出现错误(python:can not open file'extract.py' :[Errno 2]没有这样的文件或目录)被抛出。
如何在需要使用另一个系统时照顾原始python脚本的路径?
我知道试图链接shell和python是非常粗暴的做事方式。任何帮助/建议,关于这个问题,赞赏。
我尝试添加shebang行并将脚本放在/ usr/bin中,但该文件不能成为可执行文件(顺便说一句,我也改变了权限)。为了执行脚本,我仍然需要调用python解释器。我仍然必须写:'python extract'。我只是不能写一个简单的'提取'并运行脚本。有什么建议么? – Holmes 2013-03-01 08:30:48
嘿,那工作。谢谢。 :D权限有问题。现在它可以工作。非常感谢您清理所有内容。 :) – Holmes 2013-03-01 09:13:03