Warning: this is an htmlized version!
The original is across this link,
and the conversion rules are here.
#!/bin/bash
# (find-es "ffmpeg" "screencasts")
# (find-es "ffmpeg" "script-2012oct")
# (defun c () (interactive) (find-bgprocess "~/eev-videos/1.sh xterm"))
# (find-sh  "~/eev-videos/1.sh ffmpeg 540x600+0+0")
# (find-sh  "~/eev-videos/1.sh down")
# (find-sh0 "~/eev-videos/1.sh      xterm 80x30+0+0")
# (find-sh0 "~/eev-videos/1.sh                      ffmpeg 540x600+0+0")
# (find-sh0 "~/eev-videos/1.sh      xterm 80x30+0+0 ffmpeg 540x600+0+0")
# (find-sh0 "~/eev-videos/1.sh down xterm 80x30+0+0 ffmpeg 540x600+0+0")
# (find-sh0 "~/eev-videos/1.sh down xterm 80x32+0+0 ffmpeg 530x550+0+0")
# (find-fline    "/tmp/" "out.")
# (find-mplayer0 "/tmp/out.mp4")
# (find-mplayer0 "/tmp/out.avi")
# (find-sh0 "killall    ffmpeg")
# (find-sh0 "killall -9 ffmpeg")
# (find-sh0 "cp -v /tmp/out.mp4 ~/eev-videos/test.mp4")
# (find-sh0 "ls -lAF ~/eev-videos/test.mp4")
# (ee-cp "~/eev-videos/test.mp4" (ee-twupfile "eev-videos/test.mp4"))
# http://angg.twu.net/eev-videos/test.mp4
# (find-sh0 "mplayer ~/eev-videos/test.mp4")
# (find-mplayer0 "/tmp/out.mp4")
# (find-sh "ffprobe /tmp/out.mp4")
# (find-man "1 nohup")
# (find-node "(coreutils)nohup invocation")

# Command-line arguments for screencasts
fvwmdown   () { FvwmCommand "CursorMove +0 +100"; }
ffmpeggrab () {
  rm -f /tmp/out.mp4
  rm -f /tmp/out.avi
  rm -f /tmp/out.log
  { echo  ffmpeg -loglevel quiet -f x11grab -i $DISPLAY $* /tmp/out.mp4
    nohup ffmpeg -loglevel quiet -f x11grab -i $DISPLAY $* /tmp/out.mp4 &
  } > /tmp/out.log
  # > /dev/null 2>&1 &
}
if [[ "$1" == "down"   ]]; then fvwmdown; shift; fi
if [[ "$1" == "ffmpeg" ]]; then ffmpeggrab -r 5 -s $2; shift 2; fi
if [[ "$1" == "xterm"  ]]; then
  G=$2; shift 2; exec xterm -T xterm -geometry $G -e $0 $*
fi

# Colors
C0=$(tput sgr0)
C1=$(tput setaf 3; tput setab 1; tput bold;)
CB=$(tput bold; tput setaf 4)
CG=$(tput setaf 2)

# Sleep, sleep-then-echo, display-prompt-and-command, display-and-eval
slep () { sleep $1; }
slep () { stty -echo; read; stty echo; }
slep () { read -s; }
se   () { read; echo "$2"; }
se   () { echo; slep $1; echo "$2"; }
dpc  () {
  echo -n "${CG}$PWD(edrx)\$${C0} "; slep 1;
  echo -n "$*"; slep 1;
  echo;
}
function de () { dpc "$*"; eval $*; }



#------------
# Preparation
rm -Rv /tmp/eev/
export SHELL=/bin/bash

# Initial messages
clear
cat <<%%%

           ${C1}                                     ${C0}
           ${C1}  A very quick introduction to eev2  ${C0}
           ${C1}  ---------------------------------  ${C0}
           ${C1}  See: http://angg.twu.net/#eev      ${C0}
           ${C1}  (Date: 2012nov02)                  ${C0}
           ${C1}                                     ${C0}

  According to the instructions in eev-readme.el,
  the shell commands to download and unpack eev for tests
  (i.e., in a temporary directory) and load it into Emacs
  are:

    mkdir /tmp/eev/
    cd    /tmp/eev/
    wget http://angg.twu.net/eev-current/eev2.tgz
    tar -xvzf eev2.tgz
    emacs eev-readme.el
%%%

se 1 "  This is typical - but do we have to always remember long"
echo "  sequences of commands, and type them without errors?"

se 1 "  I think that the answer should be ${CB}NO${C0},"
echo "  and that's what eev is all about."

se 1 "  So let's execute the commands above and open"
echo "  eev-readme.el with Emacs. We will invoke Emacs with some"
echo "  extra options, namely: \"-Q -fn 6x13 -fg bisque -bg black\""
echo "  but they're just to make the video look nicer."
echo ""

cd
rm -Rf /tmp/eev/

de 'mkdir /tmp/eev/'
de 'cd    /tmp/eev/'

#de 'wget http://angg.twu.net/eev-current/eev2.tgz'
 de 'cp -v ../eev2.tgz .'

de 'tar -xvzf eev2.tgz'
de 'emacs -Q -fn 6x13 -fg bisque -bg black -geometry +0+0 eev-readme.el'

# Kill the video recorder
killall ffmpeg