Programmatically open Gnome Terminal and run command

Viewed 2371

How do you programmatically opening a terminal application, like Gnome Terminal, and running cd /some/path; source ./setup.bash? I'm trying to write a script that will automatically launch some common terminals and IDEs for work.

I tried:

gnome-terminal --tab --working-directory="/some/path" -e 'source ./setup.bash'

but that launches a gnome-terminal window, but the window shows the error:

Failed to execute child process "source" (No such file or directory)

Presumably, that's because it's not executing the command in bash, so I instead tried:

gnome-terminal --tab --working-directory="/some/path" -e 'bash -c "source ./setup.bash"'

However, that seems to do nothing at all. It launches no window nor produces any stdout or stderr output.

The closest I could get was:

gnome-terminal --tab --working-directory="/some/path" -e 'bash -c "source ./setup.bash; bash -i"'

That launches gnome-terminal and seems to source setup.bash correctly, but some of the terminal formatting set by setup.bash isn't shown, presumably because I'm launching a new bash shell.

Is there a better way?

2 Answers
Related