#!/bin/sh PATH=/usr/local/bin:/usr/ucb:/usr/bin:/bin tmp=/tmp/connect.$$ trap 'trap 0; rm -f $tmp; exit' 0 1 2 3 15 [ X$1 = X-notk ] && shift ## backward compatibility [ $# -gt 2 ] || { echo >&2 usage: `basename $0` host port cmd; exit 1; } cat >$tmp << 'end of script' set host [lindex $argv 0] switch -regexp [set port [lindex $argv 1]] { {^[0-9,]*$} { if [regexp (.*),(.*) $port all n m] { set port [expr $n*256 + $m] } } . { set port [exec niutil -read / /services/$port | fgrep port:] set port [lindex $port 1] } } if [catch { set client [dp_connect [lindex $argv 0] $port] set data [lindex $client 0] } err] { puts stderr $err; exit 1 } catch {eval exec [lrange $argv 2 end] <@ $data >@ $data} exit 0 end of script dpwish -notk -file $tmp "$@"