1.) Su situación no está relacionada con la open
comando. Antes de poder pasar la ruta de un archivo compartido remoto como parte de un argumento, el recurso compartido debe establecerse primero en un punto de montaje. Aquí hay una ilustración para mostrar lo que sucede--o no lo hace con el más simple de los comandos:
ls smb://myshare._smb._tcp.local/path/to/file/my_file.pdf
De hecho, referenciar un archivo de la manera que has descrito -invocando su ruta a través de una petición de montaje- hace que esa ruta se convierten en un punto de montaje. La ventana del Finder que mencionaste ver:
... el buscador se abre con la última carpeta (/ruta/a/archivo) ...
representa el último directorio conocido que el sistema pudo utilizar para crear un recurso compartido montable. Ejecuta el comando como lo hiciste, y mira en /Volumes para ver a qué me refiero. Es probable que no sea el nombre del recurso compartido que estás acostumbrado a ver en esa máquina.
2.) Al utilizar open
como un comando para lanzar 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 del manual parecen indicar lo contrario por su presentación, el comando open -a Preview
equivale a open -a /Applications/Preview.app
3.) Por ello, si los servicios de lanzamiento asocian un tipo de archivo concreto con una aplicación por defecto -como ocurre con los archivos .pdf y otros archivos de imagen con Vista Previa, por ejemplo- no es necesario incluir el nombre de la aplicación en el argumento. El comando open /path/to/my_file.pdf
equivale a open -a Preview /path/to/my_file.pdf
4.) No soy muy listo en lo que respecta a UNIX, así que mi siguiente intento de solución será sin duda mejorado pronto por alguien que tenga los conocimientos de los que yo carezco.
Empezaré con la forma más sencilla que conozco para montar un sistema de archivos remoto (no requiere crear un nodo /dev como con mount
o creando 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 /Volumes, y podrá abrir el archivo en Vista Previa con este comando:
open /Volumes/share_name/path_to_file/my_file.pdf
Los dos comandos pueden combinarse en una sola línea con &&
:
open smb://myshare._smb._tcp.local/share_name/ && open /Volumes/share_name/path_to_file/my_file.pdf
He probado todo lo anterior [OS X 10.9.5], y a menos que haya cometido un error en alguna parte, debería funcionar. Buena suerte.