Befehlszeile "open DIRNAME" schlägt fehl (aber "open FILENAME" ist in Ordnung)

In einem Terminalfenster (oder xterm oder emacs) öffnet der Befehl: open dirname (wobei dirname . oder /tmp oder /home/fred ist ) nicht das angegebene Verzeichnis im Finder. Jedoch:

  • Das Öffnen einer Nicht-Verzeichnisdatei funktioniert gut für alle Arten von Dateitypen.
  • "open dirname " hat früher funktioniert. Leider kann ich nicht erkennen, was sich geändert hat, aber AFAIR gab es kein Betriebssystem-Upgrade oder Bash-Upgrade.
  • Es funktioniert weder als root noch als normaler Benutzer.

GNU bash, Version 3.2.57(1)-release (x86_64-apple-darwin15) Modellkennung: iMac8,1 Systemversion: OS X 10.11.6 (15G22010) Kernelversion: Darwin 15.6.0

Auf der man openSeite öffnet „open '/Volumes/Macintosh HD/Applications/'“ dieses Verzeichnis im Finder. Nur um das auszuschließen, können Sie die Manpage Ihres Systems überprüfen? Wird der Pfad auch als Zeichenfolge angegeben, nur um zu überzeugen?
Versuchen Sie /usr/bin/open .einfach sicherzustellen, dass Sie das System ausführen open.
"open '/Volumes/Macintosh HD/Applications/'" tut auch nichts. "/usr/bin/open ." ist das gleiche - tut nichts. Unter Linux würde ich "strace open" verwenden. um zu sehen, was das Programm macht, aber ich kenne OSX nicht so gut, also weiß ich nicht, wie man verfolgt. Ich frage mich, ob es eine Sache mit tiefen Berechtigungen gibt, die es dem Finder nicht erlaubt, einen Ordner zu öffnen?
Auf meinem macOS 10.14.5 Darwin-18.6.0-x86_64-i386-64bit, GNU bash, Version 3.2.57(1) open '/Volumes/Macintosh HD/Applications/öffnet sich ein Finder-Fenster mit dem Ordner Applications. open /tmpwird auch in einem Finder-Fenster geöffnet, obwohl es sich in einem versteckten Verzeichnis befindet. (ping mich von @ankii).
Hast du schon neugestartet? Können Sie auf Ihrem Mac ein neues Benutzerkonto erstellen und es von dort aus versuchen?
@nohillside - gute Idee, dumm von mir, keine andere Klimaanlage auszuprobieren. Und es funktioniert ordnungsgemäß auf (mindestens einer) anderen Klimaanlage. Warum funktioniert es bei meiner Klimaanlage nicht? Grrrrrr :-)
Können Sie versuchen, die Launch Service-Datenbank neu zu erstellen, indem Sie sie /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -v -apps u,s,lin dem betroffenen Benutzerkonto ausführen?
Führen Sie den Befehl /System/Library/... aus. Es gibt Tausende (buchstäblich) von Fehlerzeilen wie: lsregister: Fehler -10811 beim Registrieren von /System/Library/CoreServices lsregister: Fehler -10811 beim Registrieren von /System/Library/CoreServices/.disk_label lsregister: Fehler -10811 beim Registrieren von /System/Library/CoreServices /.disk_label.contentDetails lsregister: Fehler -10811 beim Registrieren von /System/Library/CoreServices/.disk_label_2x Erzeugt nach 4 Minuten immer noch Meldungen. Werde nach Fertigstellung berichten, ob "offen". funktioniert
lsregister gab wie oben 68241 Fehlerzeilen aus. Leider funktioniert "open dirname" immer noch nicht (aber "open -R funktioniert immer noch).

Antworten (1)

von man open:

 -R  Reveals the file(s) in the Finder instead of opening them.

Also versucheopen -R '/home/fred'

(Technisch gesehen brauchen Sie die einfachen Anführungszeichen nicht, /home/fredes sei denn, es gibt Leerzeichen oder Sonderzeichen, aber es schadet trotzdem nicht, sie zu verwenden.)

open -R /tmpöffnet das Stammverzeichnis (nicht tmp) im Finder, während open /tmpdas tmp-Verzeichnis geöffnet wird, obwohl es sich in einem privaten Verzeichnis befindet. Siehe auch meinen Kommentar oben.
Teilerfolg! open -R dirname funktioniert - es öffnet das übergeordnete Verzeichnis korrekt. (Allerdings bewirkt open /tmp/ , wie bereits erwähnt, nichts.) Auch das Aufrufen von open -a /System/Library/CoreServices/Finder.app macht keinen Unterschied: es funktioniert mit -R und nicht ohne.
Bei Verzeichnissen sollte es ohne funktionieren -R. Es funktioniert in meinem Fall auf Mojave.
-Rist hauptsächlich für Dateien mit einer zugehörigen Anwendung. open novel.docwird in Word geöffnet, open -R novel.doczeigt es im Finder. Da es immer geöffnet wird, open -R /home/fredöffnet sich der umschließende Ordner auf diese Weise, /homeum den Ordner anzuzeigen fred.
Sicher, -R ist nicht perfekt, aber es ist viel besser, als überhaupt nicht zu funktionieren. ZB open /a/b gibt mir Finder open in /a mit /a/b ausgewählt, also bringt mich das Drücken der Eingabetaste dorthin, ohne eine Maus zu benutzen. Eine nützliche Problemumgehung - danke!