Open new terminal in MacOSX and run node script


I have been trying to figure out how to open a new terminal window from a Node application and run a preset command or script there.

I can open the terminal window:

const { exec } = require('child_process')

exec('open -a Terminal ' + process.env.HOME)

And this works fine, I have done a bit of research but it seems I can only find examples directed to bash

Could anyone help me on this?



One way to do this would be to place the commands you want to run in a shell script with the .command extension. By default, these files will be opened in the Terminal application on macOS. This is a bit of a workaround, but I think it achieves what you would like to do.

Say we have the file hello.js containing the following:

console.log("Hello World")

And the shell script run_node.command

node hello.js

Running the command open run_node.command will open a new instance and run the shell script, which in turn runs the node command. The terminal will close when the script exits.

Answered By – hexahedronest

Answer Checked By – Willingham (AngularFixing Volunteer)

Leave a Reply

Your email address will not be published.