Come posso fare il sorgente del file bashrc ogni volta che 'deseleziono'


13

Questa potrebbe essere una cattiva idea. Più ci penso e più mi rendo conto che probabilmente non dovrei farlo ... ma ho provato e fallito, quindi VERAMENTE voglio sapere come farlo, anche se è una cattiva idea.

Quello che voglio è che il file bashrc venga fornito ogni volta che eseguo il clearcomando. La ragione di ciò è completamente materialistica. Ho echeggiato le informazioni di sistema quando provo bashrc ed è bello per me e mi piacerebbe che fosse al top ogni volta che cancella.
Ho provato a impostare alcuni alias per clearma continuo a correre in loop infiniti. La soluzione ovvia è cambiare gli alias in qualcos'altro oltre a clear in modo che io possa eseguire il comando clear nell'alias senza interferire, ma scrivo clear così spesso che è un po 'radicato nel mio cervello a questo punto. Mi piacerebbe essere in grado di digitare clear e chiarire E fonte il file bashrc.


2
Assicurati che il tuo script .bashrc non abbia effetti cumulativi. Se fa qualcosa come aggiungere cose ai tuoi percorsi, potrebbe diventare confuso. In generale, .bashrc serve per inizializzare l'ambiente della shell. se fa altre cose, sarebbe meglio dividerle in una nuova sceneggiatura e chiamarla insieme a clear. Inoltre, se qualcun altro utilizza il tuo sistema o ti assiste, potrebbero riscontrare comportamenti imprevisti perché hai riproposto un comando comune.
Joe,

@Joe Questo è un buon punto su altre persone che usano il mio sistema. Ragazzi avete sollevato molte cose a cui non avevo pensato.
CaldwellYSR,

Risposte:


27

alias clear='source ~/.bashrc; \clear'

Il \dice a bash che vuoi invocare il comando esterno, non l'alias.


Ah fantastico, sapevo che sarebbe stato qualcosa di così semplice!
CaldwellYSR

13
Probabilmente vuoi farlo nell'altro ordine, altrimenti il ​​clear cancellerà qualsiasi output .bashrcgenerato. Ma è anche una cattiva idea .bashrcgenerare un output .
cjm

@cjm Sì, mi sono reso conto che questa mattina sull'ordine. L'ho già fatto nell'ordine corretto, ma non ho avuto il ` in front of chiaro` Vedrò quelle informazioni su bashrc e output. Grazie per il link
CaldwellYSR,

un'alternativa a \clearècommand clear
glenn jackman,

@CaldwellYSR, la versione breve è quella ssh host commandfonti .bashrc. Se ciò genera output, confonderà eventuali script che provano a eseguire comandi remoti sul tuo host e account. Potresti non farlo ora, ma un giorno potresti, e allora sarai confuso sul perché non funziona.
cjm

2

Scrivi uno script che stampa le informazioni di sistema che desideri. Invocalo da .bashrce verso il tuo clearalias.


1

Nel tuo .bashrcset un alias per clearquelle fonti in .bashrcseguito:

alias clear='clear && . ~/.bashrc'

1

Per il commento di Joe ... se hai "effetti cumulativi" (il tuo profilo non è sicuro da eseguire più volte), ecco un trucco per aggirarlo!

alias clear='\clear; exec bash -l'

Questo avvia davvero un nuovo interprete ogni volta che si cancella, garantendo che sia davvero un nuovo inizio in ogni modo. Il dirigente, però, significa che non ci sono tonnellate di processi in giro più tardi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.