3

Есть ли способ для bash-скрипта определить, запускается ли он через #!/usr/bin/env shebang?
Какая-то волшебная штука, которая позволила бы мне написать:

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

1 ответ1

3

Последнее, что делает env (из coreutils), это

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

Это означает, что env заменяется другой программой, поэтому вы не можете определить, кто ее запустил. Вы можете узнать больше на странице руководства execvp .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .