gpt4 book ai didi

python - 了解/usr/bin/env

转载 作者:行者123 更新时间:2023-12-03 09:19:20 31 4
gpt4 key购买 nike

在许多 python 脚本中,我是否读取了 shebang 指令#!/usr/bin/env python我知道它告诉要使用哪个解释器,就像在 bash 脚本中一样: #!/bin/bash ,但我无法理解如何指定 python 解释器。如果我只是运行

$ /usr/bin/env

我得到一个变量路径列表,例如SHELL=/bin/bashJAVA_HOME==/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home.

问题是运行此命令时没有有关 python 的信息。所以我想更好地理解 /usr/bin/env 到底做了什么,以及 #!/usr/bin/env python 告诉我当前的 python 在哪里解释器是。

最佳答案

尝试运行 /usr/bin/env python 看看会发生什么。

当给定参数时,env 运行它找到的可执行文件。

顺便说一句,我也将它与 bash 脚本一起使用:/usr/bin/env bash 因为发行版在其位置上不一致(/bin/bash >/usr/bin/bash)

另请参阅:https://unix.stackexchange.com/questions/29608/why-is-it-better-to-use-usr-bin-env-name-instead-of-path-to-name-as-my

编辑-额外解释:

当给出一个参数时,例如pythonenv 的行为与任何 shell 在尝试查找可执行文件时的行为完全相同:查看 PATH 环境变量,将其拆分为 >:,对于每个目录,尝试查找名为 python 的可执行文件。第一个匹配的可执行文件启动。

PATH变量的典型内容:/bin:/usr/bin:/usr/local/bin

关于python - 了解/usr/bin/env,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34332855/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com