Links simbólicos são atalhos salvos para caminhos relativos:
~/foo➤ ln -s . ~/bar/foo
~/foo➤ ls -l ~/bar
total 8
lrwxr-xr-x 1 me me 1B 15 May 14:38 foo -> .
O arquivo ~/bar/foo
é um link simbólico para bar
o diretório atual, ou seja, ele próprio
E se eu quiser criar um link simbólico em outro diretório para o diretório em que estou no momento? Portanto, no exemplo acima, eu estou ~/foo
e quero criar ~/bar/foo
como um link simbólico para ~/foo
. É claro que meu diretório atual pode ter um pouco mais de 5 caracteres e pode não ser tão fácil de digitar.
bash
symbolic-link
ln
Gareth
fonte
fonte
$
variáveis e substituições de comandos; caso contrário, os nomes de arquivos com espaços atrapalharão a execução. Você também não precisa do final$(basename $PWD)
(e esqueceu um$
(e citação :-))), já que esse é o nome do link padrão.pwd
abordagem e algo deu errado. Vamos colocar isso para baixo a um erro ID-ten-TAbsolutamente:
(pode ser bom para generalidade em scripts) ou apenas
Relativamente:
A conclusão da guia ajudará você a digitar.
Do comentário do grawity e http://lists.gnu.org/archive/html/coreutils-announce/2012-03/msg00000.html :
Então, com esta versão:
deve funcionar (com, na prática, é idêntico ao seu primeiro exemplo, com a adição da
--relative
opção).fonte
ln -s -r foo ~/bar
.$(readlink -f .)
mais$PWD
?readlink -f
o link simbólico será direcionado para o caminho de destino absoluto do diretório atual, enquanto$PWD
o link simbólico para o diretório literal no qual o usuário está atualmente. O que se quer é provavelmente diferente de tempos em tempos e, em primeiro lugar, provavelmente não é um problema.