Есть ли способ для bash-скрипта определить, запускается ли он через #!/usr/bin/env
shebang?
Какая-то волшебная штука, которая позволила бы мне написать:
#!/bin/bash
...
if [ __INVOKED_VIA_USR_BIN_ENV__ ]; then
...
Есть ли способ для bash-скрипта определить, запускается ли он через #!/usr/bin/env
shebang?
Какая-то волшебная штука, которая позволила бы мне написать:
#!/bin/bash
...
if [ __INVOKED_VIA_USR_BIN_ENV__ ]; then
...
Последнее, что делает env (из coreutils), это
execvp (argv[optind], &argv[optind]);
Это означает, что env заменяется другой программой, поэтому вы не можете определить, кто ее запустил. Вы можете узнать больше на странице руководства execvp .