Isso deve estar perto do que você está procurando:
PS1="\$([[ \$PWD == /srv/*/* ]] && p=\${PWD#/*/} && p=[\${p%%/*}]; echo -n \"\$p$ \" )"
Para testes, use isso para mostrar o diretório completo juntamente com o truncado para comparação:
PS1="\$([[ \$PWD == /srv/*/* ]] && p=\${PWD#/*/} && p=[\${p%%/*}]; echo -n \"[\$PWD] \$p$ \" )"
As saídas fazem com que a expansão da variável seja adiada até que o prompt seja emitido. As expansões de parâmetro eliminam o primeiro diretório de nível e todos os níveis de diretório abaixo do segundo nível.
Você provavelmente precisará:
shopt -s promptvars
mas acho que é o padrão.
O prompt só faz seu trabalho quando você está em um diretório em /srv
Esta é uma maneira de adicionar algumas cores. Isso torna o nome do projeto ciano.
PS1="\$([[ \$PWD == /srv/*/* ]] && p=\${PWD#/*/} && p='[\[3[1;36m\]'\${p%%/*}'\[3[0m\]]'; echo -n \"\$p$ \" )"