gnome-terminal new tab with alias as command to ex

2019-05-08 03:07发布

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 ?

2条回答
爱情/是我丢掉的垃圾
2楼-- · 2019-05-08 03:57

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/

查看更多
放我归山
3楼-- · 2019-05-08 04:02

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

查看更多
登录 后发表回答