从命令行两次调用该程序

水国馆

假设我有一个自己的名为(Python3)的脚本myscript由于各种原因,myscriptnot myscript.py)存储在名为的子目录中bin

mydir/
mydir/bin/
mydir/bin/myscript       -rwxr-xr-x

myscript通常的shebang线开始,即:

#!/usr/bin/env python3

当我进入时mydir/,我会这样调用我的脚本:

$ ./bin/myscript

结果令人着迷(对我而言!),myscript被两次叫过!我得到类似的东西:

sh: 1: myscript: not found
*** specific message defined in myscript ***

第一行显然是shell试图找到名为的命令的标志myscript第二行是我写的myscript

为什么我的脚本被两次调用?

艾迪生·格兰特(Addison Grant)

@Kusalananda提到您的脚本可能myscript使用调用了system()当您使用进行调用时,system我猜测那时的包含目录myscript不在$PATH外壳程序变量中,因此您需要传递的完整路径myscript,而不是相对路径。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章