Для этого может пригодиться копроцесс ksh
#!/usr/bin/ksh
func1() {
sleep $1
echo "X${1}X"
}
func2() {
sleep $1
echo "Y${1}Y"
}
func3() {
sleep $1
echo "Z${1}Z"
}
func1 10 |&
exec 5>&p # assign fd 5 to stdout
exec 6<&p # and fd 6 to stdin
func2 7 &
func3 5 |&
read -u6 F1A
read -p F3A
echo $F1A
echo $F3A
echo "wait until all is done"
wait
Короткий ответ — нет.
Подробный ответ: вам необходимо указать свой IP-адрес в сети TCP/IP, чтобы облегчить правильную маршрутизацию пакетов. В противном случае вы не сможете правильно получить данные.