Eu tenho a seguinte estrutura de diretórios para começar
~/a/bin
~/a/src -> /home/user/b/sync/src
Eu criei um link simbólico
cd ~/a/src
ln -s ../bin bin-xyz
agora bin-xyz é um link quebrado e não há como fazer cd nele.
O que estou procurando?
Como criar um link simbólico dentro de uma pasta com link simbólico de forma que o caminho relativo não seja quebrado. Por exemplo,
cd ~/a/src/bin-xyz
ou
cd ~/b/sync/src/bin-xyz
deve funcionar desde que haja diretório bin em ~/a/ ou ~b/sync/
Por que estou procurando isso?
Estou sincronizando ~/b/sync/src entre máquinas, onde ~/a/ é meu espaço de trabalho em ambas as máquinas, mas o nome de usuário das máquinas é diferente. Então, ter um caminho relativo que funcione significa um fluxo de trabalho mais fácil para mim.
Estou usando a sincronização bittorent para sincronização.
Obrigado :-)
Responder1
agora bin-xyz é um link quebrado
A razão para isso é, esperançosamente, óbvia: ou ..
tem que se referir aorealdiretório pai ou então seria completamente ambíguo.
Desde então ~/a/src -> /home/user/b/sync/src
, presumo que $PWD
você ln -s ../bin bin-xyz
esteja tentando vincular /home/user/b/sync/src/bin-xyz
a /home/user/a/sync/bin
. Nesse caso, você deve usar apenas caminhos absolutos:
ln -s /home/user/a/sync/bin /home/user/b/sync/src/bin-xyz
A razão pela ln
qual não preenche os ..
espaços em branco a esse respeito é que ele, ao contrário do seu shell atual, não está rastreando seu movimento e não tem como saber se ..
você quis dizer algo diferente do diretório pai real.
Está (talvez?) Implícito na sua pergunta que você não pode fazer isso porque na verdade existem dois sistemas diferentes envolvidos. Isso implica que um compartilhamento de rede está montado ou você usa o mesmo dispositivo de bloco com ambos, implicando, por sua vez, umProblema XY- não posso resolver isso sem mais detalhes.