1.) Su situación no está relacionada con el comando open
. Antes de poder pasar una ruta de archivo de recurso compartido remoto como parte de un argumento, primero se debe establecer el recurso compartido en un punto de montaje. Aquí hay una ilustración para mostrar lo que sucede, o no sucede, usando los comandos más simples:
ls smb://myshare._smb._tcp.local/path/to/file/my_file.pdf
De hecho, al hacer referencia a un archivo de la manera descrita, invocar su ruta a través de una solicitud de montaje, hace que esa ruta se convierta en un punto de montaje. La ventana del Finder que mencionaste viendo:
... el buscador se abre con la última carpeta (/ ruta / a / archivo) ...
representa el último directorio conocido que el sistema podría usar para crear un recurso compartido que se pueda montar. Ejecute el comando como lo hizo, y mire / Volúmenes para ver a qué me refiero. Es probable que no sea el nombre de recurso compartido que está acostumbrado a ver en esa máquina.
2.) Cuando se utiliza open
como comando para iniciar una aplicación que está presente en / Aplicaciones (o en ~ / Aplicaciones), no es necesario proporcionar su ruta completa o su extensión. Aunque las páginas de manual parecen indicar lo contrario en su presentación, el comando open -a Preview
es equivalente a open -a /Applications/Preview.app
3.) De hecho, si los servicios de lanzamiento asocian un tipo de archivo en particular con una aplicación predeterminada, como por ejemplo con .pdfs y otros archivos de imagen con Vista previa, no es necesario incluir el nombre de la aplicación en el argumento . El comando open /path/to/my_file.pdf
es equivalente a open -a Preview /path/to/my_file.pdf
4.) No soy tan inteligente cuando se trata de UNIX, por lo que mi siguiente intento de solución sin duda pronto será mejorado por alguien que tenga las habilidades que me faltan.
Comenzaré con la forma más sencilla que conozco de montar un sistema de archivos remoto (no requiere crear un nodo / dev como con mount
o crear un directorio de punto de montaje como con mount_smbfs
).
open smb://myshare._smb._tcp.local/share_name/
(las comillas no son necesarias)
El recurso compartido se montará en / Volúmenes, y puede abrir el archivo en Vista previa con este comando:
open /Volumes/share_name/path_to_file/my_file.pdf
Los dos comandos se pueden combinar en una sola línea con &&
:
open smb://myshare._smb._tcp.local/share_name/ && open /Volumes/share_name/path_to_file/my_file.pdf
Probé todo lo anterior [OS X 10.9.5], y a menos que haya hecho un error tipográfico en algún lugar, debería funcionar. Buena suerte.