路径中子文件夹中的可执行文件

时间:2016-11-05 12:36:24

标签: python bash path directory-structure project-structure

我希望将可执行文件放在子文件夹中:

$ method1/exec1.py arg1 arg2

如果我在PATH中包含bin /文件夹,是否有办法从我的shell脚本(位于另一个目录中)访问可执行文件,例如。

$ exec.py arg1 arg2

上面的命令给出了一个错误(没有这样的文件或目录),但是

{{1}}

有效,因为它不在子文件夹中。

请告知我如何在子文件夹中组织可执行文件。感谢。

2 个答案:

答案 0 :(得分:1)

感谢@АндрейБеньковский提供详尽的答案。知道命令名称不应包含斜杠很有用。由于我有不同方法的exec文件名,我不能把它们放在一起。我的解决方案是使用变量BINROOT = bin /并使用

调用命令
    $BINROOT/method1/exec1.py arg1 arg2

答案 1 :(得分:0)

如记录here bash shell(也可能是大多数其他shell)只在命令名不包含斜杠的情况下查找$ PATH上的命令。

有几种方法可以解决问题:

  1. 您可以为命令创建一个包含symbolic links的文件夹,并将该文件夹添加到$ PATH。
  2. 您可以将子文件夹添加到$ PATH。如果有很多子幻灯片,您可以do it automatically
  3. 您可以将脚本当前dirrectory更改为bin。暂时更改当前目录的简便方法是use subhells
  4. 对于cource,您可以尝试使用不同的shell来执行命令搜索。抱歉,但我不知道在哪里可以找到,如果你真的需要,你必须自己谷歌。