Wie führe ich Bash-Aliasfunktionen im Terminal aus?

Wie führe ich Bash-Aliasfunktionen im Terminal aus?

Ich habe herausgefunden, dass viele Leute in ihren /etc/bash.bashrcAliasnamen so etwas haben:

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
}

aber wie führt man diese in der Konsole aus? Habe versucht, sie einfach als Funktionen auszuführen, aber es geht nur in den Zustand, in dem man weitere Informationen eingeben muss. Kann mir jemand sagen, wie diese ausgeführt werden sollen?

Antwort1

  • del_recursiveund extracterwarten einen Dateinamen als erstes Argument:

    extract foo.tar.gz
    del_recursive bar.txt~
    
  • processsucht nach Mustern in der Ausgabe von ps. Sie können ein Argument an übergeben grep, es kann ein Prozessname oder eine PID sein:

    process firefox
    
  • apacheerwartet einen Servicebefehl wie:

    apache restart
    

verwandte Informationen