2 votos

Lanzamiento de un archivo '.command' de Terminal, sin salir de la sesión

He encontrado varias solicitudes similares, pero no es realmente lo que busco encontrar. Quiero escribir un shell script, ejecutar sus comandos a través de doble clic, y permanecer abierto, para continuar mi trabajo en la Terminal.

A menudo creo un shell estándar script, y los pongo en un archivo, como "myScript.command". Este tipo de archivo me permite hacer doble clic en él, y ejecutar el script que hay dentro, pero estos salen al terminar. Quiero que la sesión permanezca abierta, en lugar de salir automáticamente, para poder continuar desde donde terminó el script. He visto sugerencias de usar & y envolviendo con ( ) pero eso sigue existiendo.

He probado cosas de este hilo ¿Cómo evitar que la aplicación lanzada en el Terminal salga de forma indeseada? pero no era lo que necesitaba.

Espero que sea un cambio fácil, o una tubería.

Gracias.

4voto

geocoin Puntos 121

Como paso final en tu script puedes hacer que ejecute un shell por ti - simplemente pon el shell como línea final, por ejemplo bash, o zsh.

Eso te llevará a la Terminal, dentro del script, y también tendrás acceso a su entorno.

Sin embargo, eso también hará que tus scripts no se ejecuten hasta el final si no los estás ejecutando de forma interactiva. Podrías comprobarlo y manejarlo como parte de tu scriptsscriptscripts. Hágalo con suficiente frecuencia y podría valer la pena hacer una función de shell para ello y abastecerse desde una ubicación estándar.

O, ya que lo que parece querer es una forma fácil de ejecutar scripts, puede configurar un montón de alias para ellos en su archivo rc del shell (.zshrc o .bashrc), y tenerlos disponibles para llamarlos cuando los quiera. De esta manera, podrás continuar tu trabajo, y es fácil volver a ejecutar el scriptsscriptscriptstambién - sólo tienes que ejecutar el alias de nuevo.

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