Come definire persistentemente gli alias in Terminal

18

Voglio aggiungere alias al mio ambiente in modo che siano disponibili in tutte le istanze di Terminal.

Ho ricevuto questo rispondere :

Yes, you can put it in your .bashrc, .bash_profile or .profile. On some systems the shell init scripts also source .bash_aliases or .aliases so if one of those files exists on your system it may make sense to use them.'

Ma non riesco a trovare nessuno di questi file.

(Ho configurato OS X per vedere i file nascosti, eppure non vedo nessuno dei precedenti 4.)

    
posta Elad Benda 22.08.2013 - 10:44
fonte

7 risposte

23

Se usi bash, aggiungi i comandi alias a ~ / .bashrc e salva un file come questo come ~ / .bash_profile:

. ~/.bashrc

Quando bash viene invocato come shell interattiva non di login, legge .bashrc ma non .bash_profile. Quando bash è invocato come shell di login interattiva, legge .bash_profile ma non .bashrc.

Terminale e iTerm aprono nuove shell come shell di login di default, quindi molti utenti di OS X usano semplicemente .bash_profile come loro file di configurazione personale. Ad esempio, tmux e la modalità shell in Emacs aprono nuove shell come shell non di login.

.profile viene letto anche da altre shell come ksh. Se sia .bash_profile che .profile esistono, bash legge solo .bash_profile quando è invocato come shell di login interattiva.

Vedi link per ulteriori informazioni.

    
risposta data 22.08.2013 - 19:16
fonte
6

Apri una nuova finestra di Terminale e vai alla tua home directory (digita cd e premi Invio).

Dopodiché, digita ls .bash* e anche ls .profile (nota che ognuno di questi nomi di file inizia con un punto). Se hai questi file (e dovresti avere almeno uno .profile), devi modificarli e aggiungere i tuoi alias. Io uso VI (o VIM) per modificare quei file, ma potresti usare un altro editor (infatti digitando la finestra del terminale open .bash_profile lo apriremo in TextEditor, che potrebbe essere un po 'più user-friendly se non sei familiare con VI). Se, per qualche ragione, non hai nessuno di quei file, quindi creane uno nuovo (e chiamalo .bashrc), aggiungi le tue alias line (quindi questo sarà un comando per riga, come dovresti digitarli nella shell) e quindi salvare il file. È quindi possibile creare collegamenti simbolici a .bash_profile e .profile utilizzando ln -s .bashrc .bash_profile; ln -s .bashrc .profile .

Quello che faccio di solito è che faccio i collegamenti simbolici .bashrc e .bash_profile a .profile e poi mi devo solo preoccupare di un solo file.

La differenza tra questi file è che bash ne fornirà di nuovi a seconda che sia stato avviato come shell di login (in genere un processo di login avvierà la shell come shell di login) o semplicemente come un interattivo (ma non login) shell, o una shell non interattiva. Avere tutti e tre i file sostanzialmente uguali mi dà un ambiente coerente indipendentemente da come è stato avviato bash.

Riceverai più informazioni facendo man bash , ma preparati, è una pagina man lunga. Sarai in grado di vedere quale dei tre file (.bashrc, .profile e .bash_profile) è stato originato in base alla modalità in cui è stata avviata la bash.

Spero che questo aiuti - se no, dammi un grido.

    
risposta data 22.08.2013 - 13:54
fonte
3

Inserisci i seguenti comandi nel Terminale:

cd /etc
sudo vi bashrc

aggiungi quanto segue:

alias ll="ls -lrt"

Infine riavvia Terminale.

    
risposta data 21.02.2016 - 18:29
fonte
2

Se hai bisogno di questa macchina, devi cercare nella cartella /etc . Tuttavia, potrebbero non esistere per impostazione predefinita, nel qual caso è sufficiente crearli nella cartella sopra e riavviare il terminale. Molto probabilmente dovrai utilizzare sudo per crearli poiché la cartella /etc appartiene a root .

Se ti serve questo per ogni terminale che apri non è necessario farlo a macchina. È possibile creare questi file nella propria cartella Inizio e verrà letto dal terminale ogni volta che si avvia una sessione terminale.

Inoltre, come menzionato nei commenti, in genere sarai in grado di vederli utilizzando il terminale e utilizzando ls -lha .

    
risposta data 22.08.2013 - 13:05
fonte
0

se hai installato Ruby, dai un'occhiata a questo script rubino link

Lo script fornisce funzionalità come la persistenza e il sourcing automatico del file di punti. Puoi gestire gli alias tramite terminale senza interrompere il tuo flusso di lavoro e aprire un editor di testo.

disclaimer: ho scritto questo script e lo uso tutti i giorni. Fammi sapere se c'è qualche bug / idea. :)

    
risposta data 22.01.2015 - 05:29
fonte
0

Per quelli di voi che cercano il comando ll come in BASH Linux, è creato in questo modo ...

alias ll="ls -laF"

Aggiungi quella linea al tuo file .bashrc , quindi duplica il file .bashrc come .bash_profile , e avrai sempre e per sempre.

Per quello che vale, ll su Linux BASH è solo un alias di " ls -laF ".

    
risposta data 29.10.2018 - 23:29
fonte
-2

Ho avuto lo stesso problema, che non ho avuto .bash o .profile nella mia posizione di Profili. Alla fine l'ho trovato in / etc

    
risposta data 22.05.2018 - 12:04
fonte

Leggi altre domande sui tag