Один из способов, который также работает при поиске из интерактивной оболочки:
if [ $BASH_LINENO -ne 0 ]; then
some_function;
fi
Переменная BASH_LINENO
также представляет собой массив со всеми строками, на которых выполнялась вызывающая функция. Он будет равен нулю, если вы вызываете сценарий напрямую, или целому числу, соответствующему номеру строки.