1 votos

Intento de ejecutar comandos shell abriendo varios terminales

Tengo un comando de shell que utilizo para configurar varios servidores (metro, laravel, ngrok). Cada uno de estos procesos necesita ser ejecutado en su propia ventana de Terminal. El problema ahora mismo es que todo lo que soy capaz de hacer es iniciar el servidor laravel y el comando se cuelga allí ...

¿Es posible ejecutar cada línea del comando en su correspondiente ventana de Terminal?

#!/bin/bash
cd /Users/gabriel/Desktop/proyectos/laravelapp.com && php artisan serve
cd /Users/gabriel/Desktop/proyectos/laravelapp.com && php artisan db:drop && php artisan db:create && php artisan migrate --seed
ngrok http 8000
cd /Users/gabriel/Desktop/proyectos/woo/android && gradlew clean && cd .. && npx react-native run-android -- --reset-cache
cd /Users/gabriel/Desktop/proyectos/laravelapp.com && php artisan websockets:serve

0voto

David Anderson Puntos 2189

Supongo que se puede hacer usando el requisito del OP de que "cada uno de estos procesos necesita ser ejecutado en su propia ventana de Terminal".

Sobre la base de la pregunta Applescript para abrir una NUEVA ventana de terminal en el espacio actual la siguiente función podría ser definida en el script del OP.

doscript() { 
    set "${1//\\/\\\\}" # This command replaces each \ with \\
    set "${1//\"/\\\"}" # This command replaces each " with \"
    osascript -e 'tell application "Terminal"' -e "do script \"$1\"" -e 'activate' -e 'end tell'
}

En el caso de la pregunta del OP, los dos set comandos en el doscript probablemente no sean necesarias.

Por ejemplo, el siguiente comando

cd /Users/gabriel/Desktop/proyectos/laravelapp.com && php artisan serve

se sustituiría por lo siguiente

doscript 'cd /Users/gabriel/Desktop/proyectos/laravelapp.com && php artisan serve'

mando.

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