#!/bin/rc # ux - unix execute # ux [ user@host ] [cmd] # # Login to user@host over ssh(1) and run a cmd. # rfork e cmd='' insist=false userhost=$ux opts=() while(! ~ $#* 0 && ~ $1 -*){ opts=($opts $1) shift } if(~ $1 *@*){ userhost=$1 insist=true shift } cmd=$* cwd=`{pwd} if(echo $cwd | grep -s /ux/'.*' && ~ $insist false){ userhost=`{echo $cwd | sed 's#/ux/##; s#/.*##'} cdto=`{echo $cwd | sed 's#/ux/'$userhost'/?##'} if(! ~ $#cmd 0 && ! ~ $#cdto 0){ if(~ $userhost root@*) cmd=('cd /'$cdto';' $cmd) if not cmd=('cd '$cdto';' $cmd) } } ssh -r $opts $userhost $cmd