Es scheint einfach zu sein, eine Datei mit einer neuen Datei in einem Unterverzeichnis zu verknüpfen, ohne Unterverzeichnisse zu verschieben. Aber etwas an der Syntax ist verwirrend und widerspricht dem, was ich erwarten würde. Hier ist ein Testfall:
mkdir temp
cd temp
mkdir deploy
echo "Contents of the build file!" > deploy/resources.build.php
ln -s deploy/resources.build.php deploy/resources.php
cat deploy/resources.php #bad symlink
Dies erzeugt nur einen defekten Symlink! Ich führe dies in einem Setup-Skript für die Build-Umgebung aus, daher möchte ich nach Möglichkeit vermeiden, das aktuelle Arbeitsverzeichnis zu ändern.
ln -s deploy/resources.build.php resources.php
cat deploy/resources.php
Funktioniert auch nicht, da der Symlink im temporären Verzeichnis anstelle des Deploy-Unterverzeichnisses erstellt wird.
cd deploy
ln -s resources.build.php resources.php
cd ..
Das funktioniert, aber ich würde lieber wissen, wie es geht, ohne die Verzeichnisse zu wechseln.
Verwenden eines vollständigen Pfads wie:
/home/whatever/src/project/temp/stuff/temp/deploy/resources.build.php
Funktioniert, ist aber unkompliziert und etwas unpraktisch, insbesondere in einer Build-Umgebung, in der alle Projektmaterialien zwischen Builds und dergleichen unterschiedlich sein können.
Wie kann ich einen Symlink zwischen zwei Dateien in einem Unterverzeichnis erstellen, ohne in dieses und aus diesem Unterverzeichnis zu wechseln und der neuen Datei "Alias" einen neuen Namen zu geben?
Dies verwirrte mich, bis mir klar wurde, dass ein Symlink im Grunde eine Konfigurationsdatei ist. dh wie würde ich diese Pfaddaten in eine einfache Textdatei schreiben:
wird:
Der Fehler , dass ich (und wahrscheinlich OP) machte im Denken ln Bedürfnisse über die Datei wissen , dass es zielt. Es ist mir egal. Es werden nur einige Pfadinformationen in eine Datei geschrieben. Dies ist ein durchaus sinnvoll ln Befehl ein :
Daher:
Erzeugt eine Simlink-Datei, die
resources.php
in dem./deploy
Ordner aufgerufen wird, der auf die Dateiresources.build.php
im Ordner verweist./deploy/deploy/
.Das ist unwahrscheinlich, was Sie wollen und gibt einen schlechten (defekten) Link. An dem Link ist nichts auszusetzen. Wenn Sie diese Datei dort ablegen, funktioniert der Link. (Wie von anderen betont) wollten ich und das OP jedoch:
quelle