Teste em $0
se você tiver um script:
#!/bin/bash
echo $0
e torná-lo executável ( chmod 755 test.sh
) e
faça:
source test.sh
você recebe bash
(ou outra coisa, dependendo de como você está logado e qual é o seu shell).
Se você fizer
./test.sh
você obtém ./test.sh
, presumindo que o script saiba como é salvo no disco que você deve fazer:
if [ $(basename "$0") == "test.sh" ]
then
..... your code here for non-sourced
else
..... your code here for sourced
fi