GNU/Linux >> Linux Esercitazione >  >> Linux

Lo scopo di .bashrc e come funziona?

Ho trovato il .bashrc file e voglio conoscerne lo scopo/la funzione. Inoltre come e quando si usa?

Risposta accettata:

.bashrc è uno script di shell Bash che Bash esegue ogni volta che viene avviato in modo interattivo. Inizializza una sessione di shell interattiva. Puoi inserire qualsiasi comando in quel file che potresti digitare al prompt dei comandi.

Inserisci i comandi qui per configurare la shell per l'uso nel tuo ambiente particolare o per personalizzare le cose in base alle tue preferenze. Una cosa comune da inserire in .bashrc sono alias che vuoi siano sempre disponibili.

.bashrc funziona su tutti lancio interattivo della shell. Se dici:

$ bash ; bash ; bash

e poi premi Ctrl-D tre volte, .bashrc verrà eseguito tre volte. Ma se invece dici questo:

$ bash -c exit ; bash -c exit ; bash -c exit

quindi .bashrc non verrà eseguito affatto, poiché -c rende la chiamata Bash non interattiva. Lo stesso vale quando esegui uno script di shell da un file.

Contrasta .bash_profile e .profile che vengono eseguiti solo all'inizio di una nuova shell di accesso. (bash -l ) Scegli se un comando va in .bashrc rispetto a .bash_profile a seconda che tu voglia che venga eseguito una volta o per ogni avvio della shell interattiva.

Come controesempio per gli alias, che preferisco inserire in .bashrc , vuoi fare PATH regolazioni in .bash_profile invece, poiché queste modifiche in genere non sono idempotenti:

export PATH="$PATH:/some/addition"

Se lo metti in .bashrc invece, ogni volta che hai avviato una subshell interattiva, :/some/addition verrebbe attaccato alla fine del PATH di nuovo, creando lavoro extra per la shell quando digiti un comando in modo errato.

Ottieni una nuova shell Bash interattiva ogni volta che esaurisci vi con :sh , per esempio.


Linux
  1. In uno script Bash Come funziona il comando Continua con i loop incorporati?

  2. Come funziona il comando 'ls' in Linux/Unix?

  3. Come funziona il comando ps?

  4. Come funziona l'interfaccia di loopback

  5. Come funziona il pattern <( cmd ) in bash?

.bashrc vs .bash_profile

Come lavorare con File e Shell Provisioner in Vagrant

Come funziona cat << EOF in bash?

Qual è la differenza tra &> e >&in bash?

Come funzionano le opzioni '-s', '-t' e '-c' del comando tr in Unix?

Come posso utilizzare i comandi watch e jobs insieme in Bash?