假设我有一个自己的名为(Python3)的脚本myscript
;由于各种原因,myscript
(not 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
。
为什么我的脚本被两次调用?
@Kusalananda提到您的脚本可能myscript
使用调用了system()
。当您使用进行调用时,system
我猜测那时的包含目录myscript
不在$PATH
外壳程序的变量中,因此您需要传递的完整路径myscript
,而不是相对路径。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句