Um link simbólico realmente armazena o caminho que você dá literalmente, como uma string¹. Isso significa que seu link ~/mylink
contém " .
" (um caractere). Quando você acessa o link, esse caminho é interpretado em relação ao local onde o link está, e não onde você estava quando você fez o link.
Em vez disso, você pode armazenar o caminho real desejado no link:
ln -s "$(pwd)" ~/mylink
usando substituição de comando para colocar a saída de pwd
(o nome do diretório de trabalho) em sua linha de comando. ln
vê o caminho completo e o armazena em seu symlink, que apontará para o lugar certo.
¹ Mais ou menos.