Initial KVM Forum 2015 talk.
[libguestfs-talks.git] / 2015-kvm-forum / functions
1 # -*- shell-script -*-
2 # This creates some standard functions.  See also $talkdir/bashrc
3 # which runs in the same bash context as the terminal.
4
5 # Place any local environment variables and settings in "local".
6 if [ -f local ]; then source local; fi
7
8 # Environment variables.
9 export HISTFILE=$talkdir/history
10 export PATH=$talkdir:$PATH
11 export EDITOR="emacs -nw"
12
13 # remember <command> <args ...>
14 #
15 # This function does two things: (1) It adds the command and arguments
16 # to the shell history, so that commands can be recalled using up
17 # arrow or reverse search.  (2) It makes a function key recall the
18 # command.  The first command is assigned to F2, the second to F3 and
19 # so forth.
20
21 rm -f $HISTFILE
22 touch $HISTFILE
23 rm -f $talkdir/bindings
24 touch bindings
25
26 fnum=2
27 keys=(- OP OQ OR OS '[15~' '[17~' '[18~' '[19~' '[20~' '[21~')
28
29 remember ()
30 {
31     echo "$@" >> $HISTFILE
32     echo \"\\e${keys[$fnum]}\":\"\\C-k \\C-u"$@"\" >> $talkdir/bindings
33     ((fnum++))
34 }
35
36 terminal ()
37 {
38     chmod -w $HISTFILE
39     /bin/bash --rcfile $talkdir/bashrc "$@"
40 }