Você só precisa garantir que BASH_ENV
não esteja definido. Na seção INVOCATION
de bash(1)
:
When bash is started non-interactively, to run a shell script, for example, it looks for the variable BASH_ENV in the environment, expands its value if it appears there, and uses the expanded value as the name of a file to read and execute. Bash behaves as if the following com‐ mand were executed: if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi but the value of the PATH variable is not used to search for the file name.
Outros arquivos de ponto ( ~/.bash_profile
, ~/.bash_logout
, etc.) são lidos quando o shell é iniciado interativamente.
Infelizmente, você não pode controlar o ambiente a partir do script, mesmo usando #!env
(que requer apenas um argumento, neste caso o programa shell, bash
). O melhor que você poderia esperar é limpar o ambiente dentro do script ou wrapper e começar com um ambiente claro, que pode não ser o que você deseja.