微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

/usr/bin/env如何在Linux shebang系列中运行?

我知道shebang这样的:

#!/bin/sh

但我发现我也可以像这样使用shebang线:

#!/usr/bin/env python3

这让我感到困惑,有人可以向我解释一下Linux将如何处理这个问题?

解决方法

env是Unix程序的名称.如果您阅读手册(man env),您可以看到使用它的一种方法是env COMMAND,在您的情况下,COMMAND是python3.

根据手册,这将

Set each NAME to VALUE in the environment and run COMMAND.

单独运行env将显示设置的NAME和VALUE:

$env
TERM=xterm-256color
SHELL=/bin/bash
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
…

因此,/usr/bin/env python3一个设置PATH(以及所有其他NAME VALUE对)的指令,然后使用PATH中包含python3可执行文件的第一个目录运行python3.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐