Digamos que eu tenha dois caminhos: <source_path>e <target_path>. Gostaria que o meu shell (zsh) para automaticamente descobrir se há uma maneira de representar <target_path>a partir <source_path>de um caminho relativo.
Por exemplo, vamos assumir
<source_path>é/foo/bar/something<target_path>é/foo/hello/world
O resultado seria ../../hello/world
Por que eu preciso disso:
Eu preciso criar um link simbólico <source_path>para <target_path>usar um link simbólico relativo sempre que possível, pois caso contrário, o servidor samba não mostrará o arquivo corretamente quando eu acessar esses arquivos na rede a partir do Windows (eu não sou o administrador do sistema e não ' não tem controle sobre essa configuração)
Supondo que <target_path>e <source_path>sejam caminhos absolutos, o seguinte cria um link simbólico apontando para um caminho absoluto .
ln -s <target_path> <source_path>
para que não funcione para minhas necessidades. Eu preciso fazer isso para centenas de arquivos, então não posso corrigi-lo manualmente.
Algum shell embutido que cuida disso?
symlinkspara converter links absolutos em relativos.