Come creare un alias con una variabile all'interno?

4

Voglio creare un alias per il mio terminale per eseguire una ricerca rapida all'interno dei file.

In Ubuntu c'era: alias gre="egrep -rnw " . L'ho usato come $ gre 'my search string' .

Ora voglio questo per il mio MacBook-Terminal locale. Ho scoperto che devo usare grep solo come grep -r 'search string' .

Come posso aggiungere un alias come quello di Ubuntu?

Penso che sia qualcosa del genere: alias gre="grep -r $theTerminalParameter ."

Se lo provo nel Terminale: alias test="grep -r $var ." e controllo il "contenuto" di quell'alias con alias test ottengo quell'informazione:

alias test='grep -r .' quindi la mia Variabile non appare nell'alias.

Come posso usare un alias per quell'attività.

    
posta MonTea 17.05.2018 - 11:43
fonte

2 risposte

7

Non puoi usare alias per sostituzioni arbitrarie. Puoi invece utilizzare una funzione.

function gre() {
  grep -r "$@" .
}
    
risposta data 17.05.2018 - 11:50
fonte
2

Puoi aggiungere la linea a ~/.bash_profile

alias gre='grep -rwn'

e usalo solo aggiungendo punto dopo stringa di ricerca

gre 'search string' .

per aggiornare la sessione corrente nel caso in cui non si desideri chiudere la scheda

source ~/.bash_profile

che a sua volta è anche il tuo alias se ti piace aggiungere nuovi alias di volta in volta. sbash per esempio.

    
risposta data 17.05.2018 - 13:20
fonte

Leggi altre domande sui tag