Como faço referência a um comando original, para poder substituí-lo por uma função

1

Portanto, estou tentando criar uma função simples para substituir o comando padrão who pelo meu, semelhante a uma função que eu uso para substituir o comando padrão cd .

Meta: Substitua o comando original who por who "$@" | fgrep -v <user> para ocultar um usuário dele.

Exemplo semelhante:

function cd () {
    builtin cd "$@" && ls
}

O problema é que who não é um comando interno como cd , então o exemplo acima não funcionará.

Caso seja importante, não, isso não é para fins maliciosos, apenas para aprender.

    
por Sam 09.08.2016 / 17:08

2 respostas

3

Como thrig comentou , o comando para executar comandos externos é command .

Sua nova função poderia se parecer com:

function who() {
  command who "$@" | fgrep -v user
}
    
por 09.08.2016 / 17:20
1

Chame explicitamente o sistema que:

function who () {
    /usr/bin/who "$@" | fgrep -v user
}
    
por 09.08.2016 / 17:12