mirror of
https://repo.or.cz/socat.git
synced 2024-12-22 15:32:35 +00:00
47 lines
1.2 KiB
Bash
47 lines
1.2 KiB
Bash
|
#! /bin/bash
|
||
|
# $Id: readline-test.sh,v 1.1 2003/12/23 21:28:12 gerhard Exp $
|
||
|
# Copyright Gerhard Rieger 2003
|
||
|
# Published under the GNU General Public License V.2, see file COPYING
|
||
|
|
||
|
# script that simulates a simple program with authentication.
|
||
|
# is just for testing the readline features
|
||
|
# perform the test with something like:
|
||
|
# ./socat readline,history=$HOME/.history,noecho='^Password: ' system:./readline-test.sh,pty,setsid,ctty,stderr,sigint,sigquit,echo=0,raw
|
||
|
|
||
|
|
||
|
BANNER='readline feature test program'
|
||
|
USERPROMPT='Authentication required\nUsername: '
|
||
|
PWDPROMPT='Password: '
|
||
|
PROMPT='prog> '
|
||
|
|
||
|
# degenerated user database
|
||
|
CREDUSER="user"
|
||
|
CREDPASS="password"
|
||
|
|
||
|
if [ $(echo "x\c") = "x" ]; then ECHO="echo"
|
||
|
elif [ $(echo -e "x\c") = "x" ]; then ECHO="echo -e"
|
||
|
fi
|
||
|
|
||
|
#trap "$ECHO $0 got SIGINT" INT
|
||
|
trap "$ECHO $0 got SIGINT" INT
|
||
|
trap "$ECHO $0 got SIGQUIT" QUIT
|
||
|
|
||
|
# print banner
|
||
|
$ECHO "$BANNER"
|
||
|
|
||
|
read -r -p "$($ECHO "$USERPROMPT")" USERNAME
|
||
|
read -rs -p "$PWDPROMPT" PASSWORD
|
||
|
$ECHO
|
||
|
|
||
|
if [ "$USERNAME" != "$CREDUSER" -o "$PASSWORD" != "$CREDPASS" ]; then
|
||
|
$ECHO "Authentication failed" >&2
|
||
|
exit -1
|
||
|
fi
|
||
|
|
||
|
while read -r -p "$PROMPT" COMMAND; do
|
||
|
if [ "$COMMAND" = "exit" ]; then
|
||
|
break;
|
||
|
fi
|
||
|
$ECHO "executing $COMMAND"
|
||
|
done
|