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 '13 at 17:46

.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 '16 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 '16 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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.