代码之家  ›  专栏  ›  技术社区  ›  Mathieu Gauquelin

树莓皮上的python3 Bash

  •  -1
  • Mathieu Gauquelin  · 技术社区  · 7 年前

    我在一个 树莓皮 使用 Python 3 。我想创建一个 bash文件 ,这样未来的用户只需启动 MyScirpt.sh 执行python脚本。

    所以我继续写 MyScript.sh :

    #!/usr/bin/python3
    python3 /home/pi/Documents/MyFolder/MyScript.py
    

    在此之后,我使用以下命令使此文件可执行:

    chmod u+x MyScript.sh
    

    但这似乎还不够。你能帮我理解我错过了什么吗?

    很明显,如果我进去 /home/pi/Documents/MyFolder 并且,在终端中,执行 python3 MyScript.py ,它正在工作。

    3 回复  |  直到 7 年前
        1
  •  3
  •   achxel    7 年前

    您正在将python 3的shebang行用于bash脚本。

    #!/usr/bin/env python3
    

    bash的正确选项是:

    #!/bin/bash
    

    但在python脚本中,仍然需要上面的脚本。

        2
  •  0
  •   zazzy78    7 年前

    如何运行脚本?您可能需要指定路径,例如从本地目录

    ./MyScript.sh
    

    编辑:这绝对是谢邦之路——我错过了。它应该是:

    #!/usr/bin/env bash 
    
    • i、 e.您告诉脚本启动bash,然后下一行告诉它启动python并运行脚本。
        3
  •  0
  •   Matteo Ragni    7 年前

    好的,我解决了这个问题。

    我删除了bash文件的第一行,所以我只有命令 python3 /path/to/script.py 。我添加了引号 "" 在脚本的路径周围,我删除了行末尾一个看不见的空白。

    它正在发挥作用。感谢大家的帮助,因为它指引我找到了解决方案!