Crie um alias com o paramater no meio

6

Eu quero criar um alias para o grep assim:

grep argX ~/myfile

em que argX é um parâmetro e myfile é sempre o mesmo. Como posso fazer isso?

    
por asco 28.05.2013 / 10:21

3 respostas

5

O alias não suporta parâmetros, mas você pode escrever um pequeno script e nomeá-lo, por exemplo, "filegrep"

#!/bin/bash
grep $1 /home/youruser/myfile

Copie o script para /usr/bin e você pode executá-lo com filegrep argX no console.

    
por prophecy201 28.05.2013 / 10:42
10

aliases não suportam os parâmetros posicionais, então você precisa criar uma função (em ~/.profile ) e alias que funcionam.

function grepMe(){
    grep "$1" ~/myfile
}

e, em seguida, alias-lo ..

alias grepAlias="grepMe"
    
por Rinzwind 28.05.2013 / 10:37
1

Aqui eu encontrei uma alternativa sem usar funções:

alias grepAlias='bash -xc '\''grep $0 ~/myfile'\'''

Por exemplo, usando o Silver Searcher :

alias superlocate='bash -xc '\''ag -g $0 --hidden'\'' 2>/dev/null'
    
por Pablo Bianchi 15.07.2017 / 03:34