Polecenie powłoki oparte na lokalizacji w systemie plików

Muszę pracować w trzech głównych katalogach w głównym systemie plików - home / username, project i scratch. Chcę, aby moja powłoka podpowiedziała, które z tych katalogów najwyższego poziomu znajduję się w.

Oto, co próbuję zrobić:

top_level_dir ()
{
    if [[ "${PWD}" == *home* ]]
    then
        echo "home";
    elif [[ "${PWD}" == *scratch* ]]
    then
        echo "scratch";
    elif [[ "${PWD}" == *project* ]]
    then
        echo "project";
    fi

}

Następnie eksportuję PS1 jako:

export PS1='$(top_level_dir) : '

Niestety to nie działa tak, jak chcę. dostajęhome : dla mojego monitu, gdy jestem w moim katalogu domowym, ale jeśli przełączę się na scratch lub projekty, to monit się nie zmieni. Nie rozumiem bardzo dobrze skryptów bash, więc byłbym wdzięczny za każdą pomoc w poprawieniu mojego kodu.

questionAnswers(2)

yourAnswerToTheQuestion