#!/bin/bash tmpfile=$(mktemp /tmp/cmd-output.XXXXXX) trap 'rm "$tmpfile"' 0 1 15 echo "\$ $@" | tee $tmpfile eval "$@" |& tee -a $tmpfile read -p "Sharing output. [O]k, [e]dit, [d]iscard? " -n1 ans; echo case "$ans" in o|O) ;; e|E) $EDITOR $tmpfile ;; d|D) exit 0 ;; *) exit 1 ;; esac shrfile $tmpfile 2>/dev/null