Terminal: open-command -a flag - ¿Por qué no es necesario para algún software?

0

Cuando uso este comando para abrir un archivo de texto ...

> open myFile.text

... entonces funciona perfectamente bien. TextEdit se abre y puedo leer / editar el archivo. Funciona con archivos pdf de la misma manera también.

Pero cuando hago esto ...

> open Terminal.app

... luego aparece un mensaje de error:

The file /Users/michael/Downloads/Terminal.app does not exist.

Descubrí que tengo que agregar una marca -a:

> open -a Terminal.app

Luego el comando funciona como se esperaba: se abre un segundo terminal.

La página de manual de open-command dice:

* -a aplicación

Especifica la aplicación que se usará para abrir el archivo *

Está bien, bueno ... pero ...

¿Por qué algunos programas funcionan SIN usar la marca -a? ¿Mientras que otro software exige que esté allí?

    
pregunta mizech 04.02.2017 - 11:05

1 respuesta

4

Estás haciendo dos cosas diferentes aquí.

El texto uno es abrir un archivo con la aplicación que abre asociado con la extensión de archivo.

La Terminal 1 está intentando abrir una aplicación con nombre.

Lo que hace abierto es mirar primero, usando el nombre completo de la ruta, para el archivo que tiene el nombre, ya que solo le das un nombre, es una ruta relativa que busca ese archivo en el directorio actual. (Por lo tanto, para Terminal., La aplicación dice que no puede encontrar el archivo y luego se da por vencida). Cuando encuentra el archivo, busca la aplicación predeterminada para la extensión del archivo, luego ve si la aplicación se está ejecutando y, si no, inicia la aplicación. Finalmente abierto envía un mensaje a la aplicación para tratar con el archivo.

Al pasar -a para abrir, se abre para usar la aplicación nombrada, busca aplicaciones abiertas en su base de datos y, por lo tanto, no necesita la ruta completa para encontrar Terminal.app

    
respondido por el Mark 04.02.2017 - 12:58

Lea otras preguntas en las etiquetas