gnome-terminal new tab with alias as command to execute

末鹿安然 提交于 2019-12-07 08:10:53

问题


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




回答3:


I succeeded in getting some of it to work, I am missing my aliases, but I can run the program I want in the following way:

gnome-terminal --window --title="testtitle" -- $SHELL -c "<path to script/application>/<script/application> <arguments>;"

An example:

gnome-terminal --window --wait --title="testtitle" -- $SHELL -c "echo test;read -p \"press any key to exit\" -n 1 ;"


来源:https://stackoverflow.com/questions/17402152/gnome-terminal-new-tab-with-alias-as-command-to-execute

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!