Domanda

Sto cercando di creare un alias permanente per il mio terminale.Ho messo l'alias nei miei ~ / .profile, ~ / .bashrc, e ~ / .Bash_profile file, precedentemente vuoto.Quando avviando un nuovo terminale, Bash non riconosce l'alias, ma se la fonda nessuno, lo fa.Perché non vengono eseguiti quando apro un terminale?Sono su OSX.

È stato utile?

Soluzione

Due cose devono accadere qui quando si utilizza iTerm per far funzionare il caricamento di DotFiles.

Prima dovresti aggiungere quanto segue al tuo .bash_profile

[[ -s ~/.bashrc ]] && source ~/.bashrc
.

In secondo luogo è necessario assicurarsi che nelle preferenze iTerm il terminale sia impostato per avviare una shell di login.

Preferenze Iterm

Spero che questo aiuti!

Altri suggerimenti

Utilizzando il terminale Mac predefinito, ciò che ha funzionato per me era quello di aggiungere un comando da eseguire all'avvio per originare il mio .bash_profile.

Preferenze> Profilo> Avvio> Aggiungi comando 'Source ~ / .bash_profile'

Mac Terminal Preferences Finestra Screenshot

potrebbe essere considerato un po 'hacky, ma fa il trucco.

A partire da Sierra alta, sia il terminale che iterm vogliono caricare prima ~ / .profile.Quindi ti suggerisco di mettere una riga nel tuo .profile per far funzionare il tuo Mac come altri UNIX:

Source ~ / .bash_profile

Modifica di questo file, non dovrai cercare tra i menu di più app per sovrascrivere il comportamento bizzarro di Apple in ciascuna.

Aggiunta di source ~/.profile al mio .bash_profile ha funzionato per me.

Perché i file di inizializzazione dei tuoi shell non vengono caricati?

Come con la maggior parte delle cose, dipende da

Ho recentemente sperimentato lo stesso fenomeno e ha attraversato il seguente esercizio per risolverlo:

Io uso iterm. Iterm esegue un shell di accesso per impostazione predefinita. Verifica nelle preferenze Iterm> Generale> Comando> (*) Shell di accesso Pertanto, so che ~ / .bash_profile verrà sempre chiamato.

Sapendo che, ho messo il seguente nel mio file ~ / .bash_profile:

for file in ~/.{bashrc,bash_exports,bash_aliases,bash_functions}; do
    [ -r "$file" ] && source "$file"
done
unset file
.

Avviso che utilizzo file separati per .bashrc, .bash_exports, ecc. Mantiene le cose separate e semplici.

Nota Anche questo / etc / profilo è caricato in primo luogo, ma dal momento che non ho mai utilizzato quel file di init di sistema, sapevo che non era il mio problema. Per i dettagli check out $ man bash

Allora, ho iniziato con il mio file ~ / .bash_profile.

ho scoperto che quando ho installato baldacchino express che è installatore ha sostituito il contenuto del mio ~ / .BASH_PROFILE File con il seguente contenuto:

# Added by Canopy installer on 2017-04-19
# VIRTUAL_ENV_DISABLE_PROMPT can be set to '' to make the bash prompt show that Canopy is active, otherwise 1
alias activate_canopy="source '/Users/lex/dev/python/User/bin/activate'"
# VIRTUAL_ENV_DISABLE_PROMPT=1 source '/Users/lex/dev/python/User/bin/activate'
.

P.S. Il baldacchino è un ottimo IDE Python gratuito, che consiglio vivamente.

Fortunatamente, backup i miei file ~ / .bash * in modo che il ripristino sia stato facile e rapidamente risolto il mio problema.

Il mio consiglio sarebbe quello di comprendere l'ordine delle chiamate ai file di inizializzazione e iniziare con il primo e farai strada attraverso di loro finché non trovi il problema.

Oh, e potresti voler verificare quale shell stai usando (io uso bash):

~ $ echo $SHELL
/usr/local/bin/bash
.

Immagino che tu possa usare un altro guscio, come Bash, TCSH, SH, Zsh ecc.

Metti source .bash_profile nel tuo file "Bashrc" appropriato recupererà il caricamento automatico, I.e.

.

.login per tcsh, .bash_profile per Bash, .zshrc per zsh

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top