Ich habe versucht, eine symbolische Verknüpfung mit dem folgenden Befehl zu erstellen:
ln -s "~/Foo Bar/" Foo
... aber es hat nicht funktioniert (dh wenn ich in den Finder gehe und versuche, darauf zu doppelklicken, wird angezeigt, dass es auf einen ungültigen Pfad verweist, und ich werde aufgefordert, den Alias zu löschen oder ihn zu reparieren). Ich musste den Ordner in umbenennen FooBar
und dann den folgenden Befehl ausführen:
ln -s ~/FooBar/ Foo
Wie kann ich den Link erstellen, ohne das Leerzeichen aus dem Ordnernamen entfernen zu müssen?
Ich suche nach einer Möglichkeit, dies im Terminal und nicht in der Benutzeroberfläche des Finders zu tun.
ln -s
macht symlinks. Der Finder macht Aliase. Sie sind im praktischen und allgemeinen Gebrauch fast identisch, aber es ist wichtig zu erkennen, dass sie unterschiedlich sind . Symlinks verweisen auf einen Verzeichnispfad, Aliase auf eine Datei. Wenn Sie beide auf dieselbe Datei zeigen und die Datei in einen anderen Ordner verschieben, dann erstellen Sie eine neue Datei im alten Ordner, der Alias zeigt auf das verschobene Original und der Symlink zeigt auf die neue Datei.ln -s ~/Foo<tab>
(wobei <tab> die tatsächliche ⇥ (tab) -Taste auf Ihrer Tastatur bezeichnet), wenn es nur einen Ordner gibt, der mit "Foo" beginnt~
, wird dies automatisch der Fall sein Erweitern Sie den Pfad zu~/Foo\ Bar/
.Antworten:
Die Anführungszeichen verhindern,
~
dass sie in Ihren Basisordner erweitert werden. Daher müssen Sie entweder nur den Teil mit dem Leerzeichen in Anführungszeichen setzen:Hinweis: Es spielt keine Rolle, wie viel genau in Anführungszeichen steht, solange sich das Leerzeichen im angegebenen Teil befindet und das ~ / nicht.
~/Foo" "Bar/
,~/"Foo Bar"/
,~/Fo"o B"ar/
Usw. sind alle äquivalent. Auch Ein- und doppelte Anführungszeichen haben die gleiche Wirkung auf den Feldern (auch wenn sie auf anderen Zeichen unterscheiden), so~/'Foo Bar/'
,~/Foo' 'Bar/
etc würde auch funktionieren.Sie können auch ein Escape verwenden, um zu verhindern, dass das Leerzeichen als Trennzeichen behandelt wird:
quelle
"$HOME/Foo Bar/"
.~
,$HOME
sollte in doppelten Anführungszeichen seine Verwirrung zu vermeiden , wenn Ihr Home - Verzeichnis enthält Leerzeichen oder andere seltsame Zeichen."$HOME/Foo Bar/"
(wie Sie vorschlagen)"$HOME"/Foo" "Bar/
,"$HOME"/Foo\ Bar/
wird usw. arbeiten.Ich habe es selbst getestet. Ich habe kein Problem mit einem Leerzeichen:
ls zeigt:
$ linkToFoo_Bar -> /Users/joe/test/foo bar/
und es funktioniert problemlos in Terminal und Finder.quelle
~
Helfer.