Gibt es eine Möglichkeit, das Auflösen von Symlinks für das OSX-Dienstprogramm "Open" zu deaktivieren?

378
drake

Angenommen, ich habe eine Datei aufgerufen a.txtund eine andere Datei, auf b.txtdie ein Symlink verweist a.txt. Ich habe auch meine eigene entwickelte Anwendung, die als Standardanwendung für .txtDateien festgelegt ist. Jetzt wenn ich tippe

$ open b.txt
In Terminal sieht es so aus, als ob das openDienstprogramm den Symlink automatisch aufgelöst hat, weil meine Anwendung a.txtbeim Start als Parameter empfangen wurde .

Gibt es eine Möglichkeit, das Auflösen von Symlinks für das OSX- openDienstprogramm zu deaktivieren ? Ich habe die Handbuchseite von angesehen, openaber es gibt nichts über Symlinks.

0

2 Antworten auf die Frage

0
RedBug
$ find a.txt -type f -exec open {} \; 

-> Öffnen Sie Ihre a.txt-Datei.

$ find b.txt -type f -exec open {} \; 

-> keine Datei ist geöffnet.

Aus der Frage geht hervor, dass der Fragesteller nicht möchte, dass die Dateien ** geöffnet werden **. Xe möchte, dass die Dateien ** mit dem ursprünglichen Namen ** und nicht mit dem Namen geöffnet werden, der dem Inhalt des symbolischen Links entnommen wurde. JdeBP vor 10 Jahren 0
Ja, genau wie JdeBP sagt. Ich bin mir jedoch nicht sicher, ob dies möglich ist, daher ist auch eine Art Problemumgehung in Ordnung. Dieser ist allerdings etwas kompliziert. drake vor 10 Jahren 0
0
drake

Ich habe eine Problemumgehung gefunden:

$ open -a /Applications/MyApp.app --args <path_to_file> 

Dies zwingt opendas Argument unverändert weiterzugeben. Aber es gibt einen Haken: Wenn Sie einen relativen Pfad als Argument übergeben, ist der Pfad relativ zu / Applications und nicht Ihr aktuelles Verzeichnis, was ziemlich ärgerlich ist. Aber es ist die beste Lösung, die ich gefunden habe.