como criar um link simbólico que funcione em relação ao diretório de trabalho

2

considere o seguinte:

x/
    ph/
        file1.txt -> ./../file1.txt
    file1.txt
y/
    ph/ -> /x/ph/ (this is full absolute path of x/ph)
    file1.txt

/y/ph é um link simbólico para a pasta ph em x . e file1.txt é um link simbólico relativo.

funciona corretamente na pasta x , no entanto, se você abrir /y/ph/file1.txt em vez de abrir /y/file1.txt abre /x/file1.txt

o objetivo aqui é ter o mesmo diretório (digamos, um programa) em vários lugares com diferentes arquivos de configuração, sem ter que ter várias cópias do programa.

de acordo com a ajuda de ln

  

Links simbólicos podem conter texto arbitrário; se mais tarde for resolvido, um link relativo é interpretado em relação ao seu diretório pai.

links tão relativos são relativos ao caminho da pasta real e não ao diretório de trabalho atual. a questão é: há alguma solução alternativa para isso?

caso de teste:

mkdir x y x/ph
echo x1 > ./x/file1.txt
echo y1 > ./y/file1.txt
ln -s $(pwd)/x/ph ./y/ph
cd ./x/ph
ln -s ./../file1.txt
cd ../..
cat ./x/ph/file1.txt
cat ./y/ph/file1.txt

o resultado esperado é x1 y1 , mas você recebe x1 x1

Editar:

para tornar a questão mais clara, execute o caso de teste em uma pasta vazia. e tente os seguintes comandos na pasta:

bor@borpc:~/tmp$ readlink -f ./x/ph/file.txt
/home/bor/tmp/x/ph/file.txt
bor@borpc:~/tmp$ readlink -f ./y/ph/file.txt
/home/bor/tmp/x/ph/file.txt
--------------^

Eu quero que x tenha y . isto é, fazer com que o link simbólico relativo seja resolvido com base no pwd (diretório de trabalho atual ou caminho usado para acessá-lo) em vez do caminho real do arquivo real.

se for possível como alguém alcançaria esse comportamento.

    
por Bor691 24.04.2015 / 15:39

1 resposta

0

Estou um pouco confuso. Você pode criar um link simbólico começando no diretório raiz (quero dizer / ). Por exemplo,

ln -s /root/try/d s

ls -l  
total 0  

-rw-r--r-- 1 root root  0 Apr 24 16:15 d  
lrwxrwxrwx 1 root root 11 Apr 24 16:18 s -> /root/try/d  
    
por Pavol Polacko 24.04.2015 / 16:24