Se o seu script estiver sendo originado por bash , $0 será bash ou -bash :
[[ $0 =~ ^-?bash$ ]] && echo "Thank you for sourcing me"
Como alternativa, se você souber que seu script é chamado de script.sh , mas não se importa com a origem do shell, inverta o teste:
[ "X$(basename -- "$0")" != "Xscript.sh" ] && echo "Thank you for sourcing me"
(Note que como o acima é para shells gerais (POSIX), ele não usa [[ tests.)
Para obter mais informações sobre problemas relacionados, consulte StackOverflow .