socat/readline.sh

31 lines
697 B
Bash
Raw Normal View History

#! /usr/bin/env bash
2008-01-28 21:37:16 +00:00
# source: readline.sh
# Copyright Gerhard Rieger and contributors (see file CHANGES)
2008-01-27 12:00:08 +00:00
# Published under the GNU General Public License V.2, see file COPYING
# this is an attempt for a socat based readline wrapper
# usage: readline.sh <command>
withhistfile=1
while true; do
case "X$1" in
X-nh|X-nohist*) withhistfile=; shift; continue ;;
*) break;;
esac
done
PROGRAM="$@"
if [ "$withhistfile" ]; then
HISTFILE="$HOME/.$1_history"
HISTOPT=",history=$HISTFILE"
else
HISTOPT=
fi
mkdir -p /tmp/$USER || exit 1
#
#
exec socat -d readline"$HISTOPT",noecho='[Pp]assword:' exec:"$PROGRAM",sigint,pty,setsid,ctty,raw,echo=0,stderr 2>/tmp/$USER/stderr2