Ignorieren von 'ln'-Fehlern in der Vagrant-Bereitstellung

1161
ChristianK

Ich verwende ein Shell-Skript in meiner Vagrantfile, um einen Symlink für Node.js (in einer Ubuntu-VM) zu erstellen:

ln -s /usr/bin/nodejs /usr/bin/node 

Das funktioniert gut, wenn ich vagrant upzum ersten Mal vagrant up --provisionanrufe, aber wenn ich danach anrufe (dh wenn der Symlink bereits existiert), erhalte ich die folgende Fehlermeldung:

==> default: ln:  ==> default: failed to create symbolic link ‘/usr/bin/node’: File exists The SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed. The output for this command should be in the log above. Please read the output to determine what went wrong. 

Wie kann ich Vagrant dazu bringen, den Fehler zu ignorieren ln? Ich habe bereits versucht, die Ausgabe zu umzuleiten /dev/null, was jedoch zu demselben Fehler führt:

ln -s /usr/bin/nodejs /usr/bin/node 2>/dev/null || true 
2

1 Antwort auf die Frage

2
Cornelius

Sie können den -fParameter verwenden:

ln -s -f /usr/bin/nodejs /usr/bin/node 

Siehe ln- Linux-Befehl .