La línea de comando "abrir DIRNAME" falla (pero "abrir FILENAME" está bien)

En una ventana de terminal (o xterm, o emacs), el comando: open dirname (donde dirname es . o /tmp o /home/fred ) no abre el directorio especificado en Finder. Sin embargo:

  • Abrir un archivo que no sea de directorio funciona bien, para todo tipo de archivos.
  • "abrir dirname " solía funcionar. Por desgracia, no puedo identificar qué había cambiado, pero AFAIR no hubo una actualización del sistema operativo o una actualización de bash.
  • No funciona como root o como usuario normal.

GNU bash, versión 3.2.57(1)-release (x86_64-apple-darwin15) Identificador de modelo: iMac8,1 Versión del sistema: OS X 10.11.6 (15G22010) Versión de kernel: Darwin 15.6.0

Desde la man openpágina, "abrir '/Volumes/Macintosh HD/Applications/'" abre ese directorio en el Finder. Solo para descartar, ¿puede consultar la página de manual de su sistema? Además, ¿la ruta se proporciona como una cadena, solo para convencer?
Intente /usr/bin/open .solo asegurarse de que está ejecutando el sistema open.
"abrir '/Volumes/Macintosh HD/Applications/'" tampoco hace nada. "/usr/bin/abrir". es lo mismo -- no hace nada. En Linux, usaría "strace open". para ver qué está haciendo el programa, pero no conozco muy bien OSX, así que no sé cómo rastrear. Me pregunto si hay algún permiso profundo que no permita que Finder abra una carpeta.
En mi macOS 10.14.5 Darwin-18.6.0-x86_64-i386-64bit, GNU bash, versión 3.2.57(1) open '/Volumes/Macintosh HD/Applications/abre una ventana de búsqueda con la carpeta Aplicaciones. open /tmptambién se abre en una ventana del buscador a pesar de estar en un directorio oculto. (Hazme un ping por @ankii).
¿Ya reiniciaste? ¿Puedes crear una nueva cuenta de usuario en tu Mac y probar desde allí?
@nohillside: buena idea, tonto de mí por no probar otro aire acondicionado. Y funciona correctamente en (al menos uno) otro aire acondicionado. Entonces, ¿por qué no funciona en mi aire acondicionado? Grrrrrr :-)
¿Puede intentar reconstruir la base de datos del Servicio de lanzamiento ejecutando /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -v -apps u,s,lla cuenta de usuario afectada?
Ejecutó el comando /System/Library/... Da miles (literalmente) de líneas de error como: lsregister: error -10811 al registrar /System/Library/CoreServices lsregister: error -10811 al registrar /System/Library/CoreServices/.disk_label lsregister: error -10811 al registrar /System/Library/CoreServices /.disk_label.contentDetails lsregister: error -10811 al registrar /System/Library/CoreServices/.disk_label_2x Sigue generando mensajes después de 4 minutos. Informará cuando esté completo si está "abierto". obras
lsregister dio 68241 líneas de error como arriba. Lamentablemente, "open dirname" todavía no funciona (pero "open -R todavía funciona).

Respuestas (1)

de man open:

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

así que intentaopen -R '/home/fred'

(Técnicamente, no necesita las comillas simples /home/freda menos que haya espacios o caracteres especiales, pero no está de más usarlos de todos modos).

open -R /tmpabre el directorio raíz (no tmp) en el buscador, mientras que open /tmpabre el directorio tmp a pesar de estar en un directorio privado. Ver mi comentario de arriba también.
¡Éxito parcial! open -R dirname funciona: abre correctamente el directorio principal. (Sin embargo, como se mencionó antes, open /tmp/ no hace nada). Además, invocar como open -a /System/Library/CoreServices/Finder.app no ​​hace ninguna diferencia: funciona con -R y no funciona sin él.
Para directorios debería funcionar sin -R. Funciona en mi caso en Mojave.
-Res principalmente para archivos con una aplicación asociada. open novel.docse abrirá en Word, open -R novel.doclo revelará en Finder. Como siempre se abre, la carpeta adjunta de esa manera open -R /home/fredse abrirá /homepara mostrar la fredcarpeta.
Claro, -R no es perfecto, pero es mucho mejor que no funcionar en absoluto. Por ejemplo, abrir /a/b me da Finder abierto en /a con /a/b seleccionado, por lo que presionar Enter me lleva allí sin usar un mouse. Una solución útil, ¡gracias!