nprofile1qy2hwumn8ghj7un9d3shjtnddaehgu3wwp6kyqpqmc8zr25nv6z5qyjz77w95zvxrm7kuj8t8kmwdwf7rux99mw307psrw8j4m (nprofile…8j4m) nprofile1qy2hwumn8ghj7un9d3shjtnddaehgu3wwp6kyqpqupkp7fd7rc3lrjg23r8gy0wc723vze7mxlx5984ut6zurjzpf5xsv56m2n (nprofile…6m2n) +1 on rlwrap, it makes apps like sqlite3 a lot more friendly.
On script: I use it for capturing input and output from an interactive terminal session so I can search through it to see the details of whatever error I'm trying to debug. Redirection and | tee don't work so well with interactive read-eval-print loop based programs, so script comes to the rescue for those. It's also helpful when you need to capture what happens in a sequence of different commands.