Les liens symboliques sont des raccourcis enregistrés pour les chemins relatifs:
~/foo➤ ln -s . ~/bar/foo
~/foo➤ ls -l ~/bar
total 8
lrwxr-xr-x 1 me me 1B 15 May 14:38 foo -> .
Le fichier ~/bar/foo
est un lien symbolique vers bar
le répertoire courant de s, c'est-à-dire lui-même
Que faire si je veux créer un lien symbolique dans un autre répertoire vers le répertoire dans lequel je me trouve à ce moment-là? Donc, dans l'exemple ci-dessus, je suis ~/foo
et je veux créer ~/bar/foo
un lien symbolique vers ~/foo
. Bien sûr, mon répertoire actuel peut être un peu plus long que 5 caractères et peut ne pas être si facile à taper.
la source
$
variables et vos substitutions de commandes, sinon les noms de fichiers avec des espaces gâcheront l'exécution. Vous n'avez pas non plus besoin de la fin$(basename $PWD)
(et vous avez oublié un$
(et en citant :-))) car c'est de toute façon le nom du lien par défaut.pwd
approche et quelque chose s'est mal passé. Mettons cela à une erreur ID-ten-TAbsolument:
(peut être bon pour la généralité dans les scripts) ou tout simplement
Relativement:
La complétion des onglets vous aidera à taper.
D'après le commentaire de grawity et http://lists.gnu.org/archive/html/coreutils-announce/2012-03/msg00000.html :
Donc avec cette version:
devrait fonctionner (avec en pratique est identique votre premier exemple, avec l'ajout du
--relative
switch).la source
ln -s -r foo ~/bar
.$(readlink -f .)
plus$PWD
?readlink -f
va alors créer un lien symbolique vers le chemin cible absolu du répertoire courant, tandis que$PWD
le lien symbolique vers le répertoire littéral dans lequel il se trouve actuellement. Ce qui est recherché est probablement différent de temps en temps, et d'abord et avant tout probablement pas un problème du tout.