Meine .bash_functions

Gerne nutze ich kleine Funktionen, welche nicht in der Bash, oder in anderen Programmen vorhanden sind. Um die Datei ~/.bash_functions mit einzubinden habe ich die Zeile:

if [ -f ~/.bash_functions ]; then
    . ~/.bash_functions
fi

in meiner ~/.bashrc.
Das erleichter mir den Überlick und das gleiche mache ich mit den Dateien ~/.bash_aliases ~/.bash_exports.
Niklot. Nein, ich nehme keine zsh;) (ein Insider).

~./bash_functions:

function wikipedia() { w3m  http://de.wikipedia.org/w/wiki.phtml?search="$*" ;}
function mtube {
  video_id=$(curl -s $1 | sed -n "/watch_fullscreen/s;.*(video_id.+)&title.*;1;p");
  mplayer -fs $(echo "http://youtube.com/get_video.php?$video_id");
}
function mkcd() {
  [ -n "$1" ] && mkdir -p "$@" && cd "$1";
}
  
cp_p()
{
   strace -q -ewrite cp -- "${1}" "${2}" 2>&1 
      | awk '{
        count += $NF
            if (count % 10 == 0) {
               percent = count / total_size * 100
               printf "%3d%% [", percent
               for (i=0;i< =percent;i++)
                  printf "="
               printf ">"
               for (i=percent;i<100;i++)
                  printf " "
               printf "]r"
            }
         }
         END { print "" }' total_size=$(stat -c '%s' "${1}") count=0
}

1. wikipedia lässt mich in der Shell mit Hilfe von w3m nachschlagen
2. mtube lässt mit Youtube-Videos mit der Hilfe des mplayers anschauen ( Ich muss mal ein irssi-Script schreiben, das …)
3. mkcd lässt mich ein Verzeichnis erstellen und gleichzeitig in jenes hineinwechseln, parents werden auch erstellt, falls nicht vorhanden.
4. cp_p gibt mir einen progress bar für den Kopierbefehl cp. # Der Befehl ist von Chris Lamb .Thank You, Chris