I'm using screen, and I have several aliases in my ~/.bash_profile, for example python=python-2.6. But for some reasons these aliases don't work when I work in screen. How can I make them work?

  • I want to open multiple new windows in screen and execute my alias in each of those, ie, "screen -t window1 my_alias". Any idea how to do that?
    – cat pants
    May 5, 2013 at 17:46

4 Answers 4


.bash_profile gets run when in a login shell. You'll probably want to put your aliases in the .bashrc file. Or you could just execute your .bash_profile each time that you start up a shell in screen


Use the -l option to bash in your .screenrc to start your screen session's bash shells as login shells:

screen bash -l
  • Using this method you would have to type "exit" twice - once to exit the additional bash session, and then second time to exit screen.
    – pako
    Aug 4, 2016 at 21:51
  • The same applies to the original question. The example I showed here was for a .screenrc file to open the shell as a login shell. Aug 5, 2016 at 2:48

Add this line to your ~/.screenrc file:

shell -/bin/bash

The initial dash executes the shell with login option


If you run exec bash after you start up screen, they will work

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .