是否可以检测到 shebang 调用?

是否可以检测到 shebang 调用?

有没有办法让 bash 脚本检测它是否正在通过 shebang 运行#!/usr/bin/env
一些神奇的 bash foo 可以让我写入:

#!/bin/bash
...
if [ __INVOKED_VIA_USR_BIN_ENV__ ]; then 
  ...

答案1

最后一件事环境(来自 coreutils)的作用是

execvp (argv[optind], &argv[optind]);

这意味着环境被其他程序替换,因此您无法检测是谁启动了它。您可以在执行命令请参阅手册页。

相关内容