在bash中运行Python脚本:出现“命令未找到”错误

3

我收到了一个“command not found”错误。 0和$filestem是两个参数,我在脚本中写了以下内容。当我执行脚本时,我遇到了“command not found”错误。

echo -e "Enter the file stem name"
read filestem
python gen_par_final.py 0 $filestem

输入文件、Python脚本和Bash脚本都在同一个文件夹中。Python脚本在命令提示符下可以正常工作,但在脚本内部却不行。是否有需要设置路径或其他解决问题的方法?


应该是 read $filestem 吧? - karthikr
如果您修改上面的代码,使其不带参数,那么是否会得到相同的错误?只是想看看您的Python脚本是否有问题或者您处理参数的方式是否正确。 - arajek
which python 的输出是什么?python 是一个别名吗? - SethMMorton
Python提供了/usr/bin/Python,而python是别名。 - Vignesh
2
我发现在shell脚本中有时无法找到别名。尝试使用/usr/bin/Python,看看是否在你的脚本中起作用。你可能需要弄清楚为什么Python安装时使用了大写字母。 - SethMMorton
显示剩余4条评论
2个回答

5

这可能行得通

  1. gen_par_final.py文件的顶部插入#! /usr/bin/Python
    (通常是/usr/bin/python,您需要检查它的大写字母P

  2. 使gen_par_final.py可执行。
    $ chmod +x gen_par_final.py

  3. 编辑您的shell脚本。

    echo -e "输入文件名"
    read filestem
    ./gen_par_final.py 0 $filestem


我尝试过这个。在执行时,它给了我一个区域选择类型的光标和这个错误导入: 无法抓取鼠标`': Resource temporarily unavailable @ xwindow.c/XSelectWindow/8969。 - Vignesh
请在终端上运行 $ ./gen_par_final.py 0 <sample_arg>,以检查其是否有效。 - Sagar Rakshe
通常不是 #!/usr/bin/python 吗?没有空格,P 是小写。而且,你说“通常”。所以,为了使它与平台无关,你可以使用 #!/usr/bin/env python,这样 $PATH 将返回 Python 默认值,无论它在系统的哪个位置。 - Danijel-James W
这个答案可以进一步改进,同时解释一下为什么提出的解决方案会起作用。 - CervEd

0

这个命令 /path/to/python ./gen_par_final.py 0 ${filestem} 能解决这个问题吗?

我假设你已经检查了拼写错误?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接