2 votos

¿Cómo se puede iniciar una aplicación.la aplicación almacena en nfs desde un script de bash?

Necesito ejecutar *.app de nuestro recurso compartido de NFS, donde las diferentes aplicaciones y versiones son almacenados.

Yo no puedo conseguir que funcione como parte de una secuencia de comandos bash.

Por ejemplo, para Sublime Text, este es el comando que uso para el lanzamiento:

elif [ `uname` == "Darwin" ]; then
    exec open -a "/path/to/nfs/"Sublime\ Text.app" "$@"
fi

Cuando llamo a mi script, me sale el siguiente error:

FSPathMakeRef(/path/to/nfs/Sublime Text.app) failed with error -43.

Sé que el camino es el correcto. Los permisos son también muy bien. Soy capaz de lanzar con la ruta de acceso completa exec open -a "/path/to/nfs/"Sublime\ Text.app/Contents/MacOS/"Sublime\ Text"" "$@" , pero luego todo el contenido de la .la carpeta de la aplicación no está disponible.

Hay otra forma de lanzar .aplicación de línea de comandos?

4voto

user3439894 Puntos 5883

El principal problema que veo con el comando:

exec open -a "/path/to/nfs/"Sublime\ Text.app" "$@"

Se ha utilizado una barra diagonal inversa para escapar de un espacio , mientras que también citando el comando. Usar una o la otra, pero no ambas, por ejemplo:

open -a "/path/to/nfs/Sublime Text.app"

O:

open -a /path/to/nfs/Sublime\ Text.app

También veo ninguna razón para utilizar exec cuando el open comando de por sí funciona en este contexto, o a partir de una secuencia de comandos, por ejemplo:

open -a "/path/to/nfs/"Sublime Text.app" "$@"

Dicho esto, cuando el uso de la open comando con el -a opción puede considerar el uso de la --args opción, el cual desde su página man de los estados", el resto de argumentos que se pasan al abrir la aplicación en el parámetro argv a main(). Estos argumentos no son abiertos o interpretado por la open herramienta.", lo que hace el comando como, por ejemplo:

open -a "/path/to/nfs/"Sublime Text.app" --args "$@"

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X