Bash shebang option -l

Viewed 15444

I use a script, test.sh, written by someone else, the begins with a bash shebang:

#!/bin/bash -l
...
echo TEST: $TEST

From what I could see, this has an effect on variables used inside the script:

  • if I run TEST=hey ./test.sh, I can see TEST: hop, hop being the value of variable TEST in my .bash_profile
  • this is the same if I export TEST=hey before running the script
  • but if I remove the -l flag, the same command returns TEST: hey, as I would have expected

Can someone please explain this behaviour ? The help of bash did not... help.

1 Answers
Related