He estado tratando de descubrir cómo abrir una nueva ventana de terminal desde una aplicación Node y ejecutar un comando o script preestablecido allí.
Puedo abrir la ventana de terminal:
const { exec } = require('child_process') exec('open -a Terminal ' + process.env.HOME)Y esto funciona bien, he investigado un poco pero parece que solo puedo encontrar ejemplos dirigidos a bash
¿Alguien podría ayudarme con esto?
Gracias
Una forma de hacer esto sería colocar los comandos que desea ejecutar en un script de shell con la extensión .command . De manera predeterminada, estos archivos se abrirán en la aplicación Terminal en macOS. Esta es una pequeña solución, pero creo que logra lo que le gustaría hacer.
Digamos que tenemos el archivo hello.js que contiene lo siguiente:
console.log("Hello World") Y el script de shell run_node.command
#!/bin/bash node hello.js Ejecutar el comando open run_node.command abrirá una nueva instancia de Terminal.app y ejecutará el script de shell, que a su vez ejecuta el comando de nodo. La terminal se cerrará cuando finalice el script.