Se o seu script for escrito é bash, existe uma variável interna chamada $ PPID (abreviação de ID do processo dos pais, eu acho) que você pode usar para descobrir quem chamou seu script. Aqui está um exemplo:
CALLER=$(ps ax | grep "^ *$PPID" | awk '{print $NF}')
echo I was called from $CALLER
Explicação:
- O $ PPID fornece o ID do processo pai (o chamador)
- o comando ps lista todos os processos
- O comando grep procura a linha que contém o PPID no início da linha
- O comando awk imprime apenas a última coluna, que é o nome do chamador