mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-03-15 06:17:04 +00:00
The netcat utility likes to exit when it receives an empty packet (as it thinks this means EOF). This can easily occur when working with command line editing as this behavior will be triggered when using backspace. Or with tabs and command line completion. So create two netcat processes - one to only listen (and put it into a loop), and one to do the sending. Once the user quits the transmitting netcat, the listening one will be killed automatically. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
48 lines
800 B
Bash
Executable file
48 lines
800 B
Bash
Executable file
#!/bin/sh
|
|
|
|
usage() {
|
|
(
|
|
echo "Usage: $0 <board IP> [board port]"
|
|
echo ""
|
|
echo "If port is not specified, '6666' will be used"
|
|
[ -z "$*" ] && exit 0
|
|
echo ""
|
|
echo "ERROR: $*"
|
|
exit 1
|
|
) 1>&2
|
|
exit $?
|
|
}
|
|
|
|
while [ -n "$1" ] ; do
|
|
case $1 in
|
|
-h|--help) usage;;
|
|
--) break;;
|
|
-*) usage "Invalid option $1";;
|
|
*) break;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
ip=$1
|
|
port=${2:-6666}
|
|
|
|
if [ -z "${ip}" ] || [ -n "$3" ] ; then
|
|
usage "Invalid number of arguments"
|
|
fi
|
|
|
|
for nc in netcat nc ; do
|
|
type ${nc} >/dev/null 2>&1 && break
|
|
done
|
|
|
|
trap "stty icanon echo intr ^C" 0 2 3 5 10 13 15
|
|
echo "NOTE: the interrupt signal (normally ^C) has been remapped to ^T"
|
|
|
|
stty -icanon -echo intr ^T
|
|
(
|
|
while ${nc} -u -l -p ${port} < /dev/null ; do
|
|
:
|
|
done
|
|
) &
|
|
pid=$!
|
|
${nc} -u ${ip} ${port}
|
|
kill ${pid} 2>/dev/null
|