Terminal: Where is the shell start-up file?

后端 未结 4 1469
天命终不由人
天命终不由人 2020-12-23 12:54

I\'m following a tutorial called Starting a Django 1.4 Project the Right Way, which gives directions on how to use virtualenv and virtualenvwrapper, among other things.

相关标签:
4条回答
  • 2020-12-23 13:31

    If you use bash, it usually means ~/.bash_profile.

    In Terminal and iTerm new shells are login shells by default, so ~/.bashrc is not read at all. If instructions written for some other platform tell you to add something to .bashrc, you often have to add it to .bash_profile instead.

    If both ~/.profile and ~/.bash_profile exist, only .bash_profile is read. .profile is also read by other shells, but many of the things you'd add to .bash_profile wouldn't work with them.

    From /usr/share/doc/bash/bash.html:

    When bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first reads and executes commands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable.

    [...]

    When an interactive shell that is not a login shell is started, bash reads and executes commands from ~/.bashrc, if that file exists.

    0 讨论(0)
  • 2020-12-23 13:32

    I use an approach that I think is easy to maintain. It also works well if you sometimes use Ubuntu systems, however I will be sure to address the OP's OSX requirement in my answer.

    1. Create a .aliases file with your alias(es) in your home directory, e.g. ~/.aliases

    2. Execute this file from your .bashrc file (this is executed each time for a new shell process) with source ~/.aliases. This is all you would actually need to do for Ubuntu btw.

    3. On OSX call .bashrc from your ~/.profile file, i.e. have ~/.bash_profile contain: source ~/.bashrc

    0 讨论(0)
  • 2020-12-23 13:37

    I have Anaconda install, so I add these 3 lines to ~/.bash_profile

    export WORKON_HOME=$HOME/.virtualenvs
    export PROJECT_HOME=$HOME/Documents/Python
    source /Users/Username/anaconda3/bin/virtualenvwrapper.sh 
    

    and then reload profile by:

    $ source ~/.bash_profile
    
    0 讨论(0)
  • 2020-12-23 13:42

    You're probably using bash so just add these 3 lines to ~/.bash_profile:

    $ cat >> ~/.bash_profile
    export WORKON_HOME=$HOME/.virtualenvs
    export PROJECT_HOME=$HOME/directory-you-do-development-in
    source /usr/local/bin/virtualenvwrapper.sh
    ^D
    

    where ^D means you type Control+D (EOF).

    Then either close your terminal window and open a new one, or you can "reload" your .bash_profile like this:

    $ source ~/.bash_profile
    
    0 讨论(0)
提交回复
热议问题