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.