Para o seu diretório pessoal, use dir="${PWD/#$HOME/~}" .
Para remover apenas /home/ , como sugere Glenn, use também dir="${dir/#\/home\//~}" .
A conversão de homedirs de outros usuários é muito mais complicada, já que você deve listar todos usuários todas as vezes.
-
Você não pode nem parar no primeiro jogo, já que as poucas primeiras contas têm um homedir de
/, que sempre corresponderá. Em vez disso, é necessário verificar o prefixo mais longo , o que não é simples. -
Costumo trabalhar com servidores configurados para ler contas de usuários do LDAP, o que leva um segundo inteiro para listar todas as contas; Enquanto isso, o Active Directory nem permitiria ver a lista inteira.