gnome-terminal new tab with alias as command to ex

2019-05-08 03:34发布

问题:

I've created an alias in .bashrc file as follows

alias myproject = 'cd ~/Desktop/myproject'

After saving the file when I restart my terminal, typing in myproject takes me to the project directory but when I try to use the alias as a command argument to a new gnome-terminal tab it throws an error,

gnome-terminal --tab -e "myproject"

throws the error

There was an error creating the child process for this terminal
Failed to execute child process "myproject" (No such file or directory)

What is wrong with this ?

回答1:

When a bash shell is started, per default bash executes the commands specified in .bashrc. This is how your shell knows your aliases.

Now your idea does not work because gnome-terminal never sees your .bashrc file.

You could try

gnome-terminal --working-directory='<path-to-your-home-directory>/Desktop/myproject/



回答2:

I was trying to do something similar... possibly not exactly what you want, but:

alias startMyRailsProject='cd ~/Desktop/myproject; gnome-terminal --tab --tab -e "rails s" --tab -e "rails c"; exit'

This: - changes directory to where I want - starts a new gnome terminal (in the right directory from before) - creates a 2nd tab and starts my rails server - creates a 3rd tab and starts my rails console - and then closes the original terminal window which I call it from.
It does what I need it to and saves a bunch of repetive keystrokes :-) Cheers