|
|
|
|
|
by Klasiaster
1621 days ago
|
|
This variant here works a bit different: exec {checkfd}>/dev/null
CHECKFDPATH="/proc/$$/fd/${checkfd}"
(while [ -e "$CHECKFDPATH" ]; do sleep 1; done) > >(true) &
STDINPID="$!"
disown "$STDINPID"
READER="/proc/$STDINPID/fd/1"
{ while IFS= read -r LINE; do
echo "$LINE" | tr '[:lower:]' '[:upper:]'
if [ "$LINE" = "bye" ]; then
echo exiting > /dev/stderr
break
fi
done < "$READER" ; kill -9 "$STDINPID" 2>/dev/null || true ; } | { nc -q 1 -l 8080 > "$READER" ; kill -9 "$STDINPID" 2>/dev/null || true ; }
exec {checkfd}<&-
|
|