我的环境说:
_=/usr/bin/env
我有一个关于 shebang 的问题,如果我输入以下内容,输入是否正确:
#!_ perl
?
答案1
不,不会的。在这种情况下,_
意味着环境变量$_
,通常是设置为上一行的最后一个参数。它并不具有普遍性/usr/bin/env
。
但是,shebang 不会扩展环境变量。它由#!
、一个可选空格、命令名称以及最多一个空格和一个参数组成(某些系统允许更多,但并非所有系统都允许)。因此,shebang 将尝试执行该程序_
,这可能不是您想要的。
即使这确实有效,也会令人困惑,因此您希望在供其他人使用的清晰代码中避免使用它。