Je voudrais changer la cible du lien symbolique dans un script bash. Le problème est que le lien symbolique est très important (il est /bin/sh
, à savoir) et je le faire de manière que:Remplacer le lien symbolique important 'en toute sécurité'
- cible Nouveau sera disponible immédiatement après le retrait de vieux, dire qu'il n'y aura pas de possibilité que quelque chose remarque disparaissant,
- Il n'y aura aucune possibilité que le changement échouera au milieu, c'est à dire laisser l'utilisateur avec le lien symbolique supprimé et pas de nouveau.
J'ai pensé à deux méthodes. Soit en utilisant ln
simple:
ln -fs /bin/bash /bin/sh
ou en utilisant mv
:
ln -s /bin/bash /bin/sh.new
mv /bin/sh.new /bin/sh
Lequel conviendra à mieux mes besoins? Est-il possible que l'un d'entre eux essaie de remplacer la cible de lien symbolique au lieu de lien symbolique lui-même?
Vous ne pouvez pas être sûr qu'il n'y aura pas de problèmes potentiels si vous venez de l'essayer :). Il est très difficile de faire un test pour "quelque chose avis disparaissant ". –
Eugene
A propos de l'article de blog - '-T' ne semble pas être une option portable. –