¿Cómo hacer que una función bash_profile actúe de manera diferente dentro de bash_profile o más tarde llamado por el usuario?

Quiero decir, en~/.profile, Una funcióndoit diríaWelcome cuando el usuario inicia sesión, pero dice otras palabras cuando el usuario ejecutadoit más tarde.

doit() {
    if some_test_here; then
        echo "Running within ~/.profile. Welcome."
    else
        echo "Called by user."
    fi
}

doit

Yo creo que~/.profile es mejor en Mac para~/.bash_profile en Linux Entonces uso~/.profile como ejemplo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta