Como executar funções de aliases do bash no terminal?

Como executar funções de aliases do bash no terminal?

Descobri que muitas pessoas têm algo parecido em seus /etc/bash.bashrcapelidos:

del_recursive() {
    find . | grep '$1' | xargs rm
}

process() {
    ps -ef | grep $1
}

apache() {
    sudo service apache2 $1
}

function extract()    # Handy Extract Program.
{
     if [ -f $1 ] ; then
         case $1 in
             *.tar.bz2)   tar xvjf $1     ;;
             *.tar.gz)    tar xvzf $1     ;;
             *.bz2)       bunzip2 $1      ;;
             *.rar)       unrar x $1      ;;
             *.gz)        gunzip $1       ;;
             *.tar)       tar xvf $1      ;;
             *.tbz2)      tar xvjf $1     ;;
             *.tgz)       tar xvzf $1     ;;
             *.zip)       unzip $1        ;;
             *.Z)         uncompress $1   ;;
             *.7z)        7z x $1         ;;
             *)           echo "'$1' cannot be extracted via >extract<" ;;
         esac
     else
         echo "'$1' is not a valid file"
     fi
}

mas como executá-los no console? Tentei simplesmente executar como funções, mas simplesmente chega ao estado em que é necessário inserir mais algumas informações. Alguém poderia me indicar como isso deve ser executado?

Responder1

  • del_recursivee extractespere um nome de arquivo como primeiro argumento:

    extract foo.tar.gz
    del_recursive bar.txt~
    
  • processprocura padrões na saída de ps, você pode passar um argumento para grep, pode ser um nome de processo ou um PID:

    process firefox
    
  • apacheespera um comando de serviço como:

    apache restart
    

informação relacionada